2012-02-22 20 views
5

Bu yüzden, kendimi bir mobil web uygulaması oluşturuyorum ve kullanıcı telefonu döndürdükten sonra düzenin yeniden düzenlenmesini gizlemeye çalışıyorum (js tarafından ayarlanmış bir portre ve bir peyzaj düzenine sahibim). Bu kadar ikinci veya sonra geri vücudu $('body').display = "none"; boyutlandırmak yangınları kurmak ve solmaya mümkün olması gerektiğini düşünmüştü Pencereden önce yangın işlevi, oryantasyondaki içeriği değiştirir mi?

Ancak shuffle hala display = "none" tekmeler önce olur.

herhangi bir yolu var mı sayfa döndürdüğü anda bir işlevi tetiklemek için, yeniden biçimlendirme öğelerini gizleyebilirim? Ayrıca, oryantasyon değişim dinleyicilerini denedim ama olay gerçekleştikten sonra doğrudan ateş gibi görünüyorlar.

Eğer zaman aşımı ile görev değişikliği geciktirebilirsiniz

cevap

0

:

$(window).resize(function(){ 
    $('body').hide(); 
    setTimeout(function(){ 
     reshuffle(); 
     $('body').show(); 
    }, 100);//100ms 
}); 
+0

sayesinde, şu anda hemen hemen tam olarak kod im şu kullanarak, tarayıcı yeni yönlendirme düzenini eski css değerleriyle oluşturuyor gibi görünüyor .hide, yeniden boyutlandırma tarafından ateşlenecek zamana sahip (bu yüzden yaklaşık 50 ms'de karıştırılmamış düzeni görebilirim) sanırım bu bir şekilde kullanamayabileceğini düşünüyorum – user885663

+0

teşekkürler, bunu bir başka denemeye vermek için yeniden boyutlandırmak yerine onorientationchange etkinliğime ekledim ve biraz daha iyi çalışıyor gibi görünüyor, belki de temiz ve düzenli göründüğü zamanın% 50'si. Ayrıca, bg renginize herhangi bir kapsayıcı öğenin ayarlanmasına yardımcı olur, böylece varsayılan beyaz bg gösterilmez. – user885663

0

Bunu yaparken deneyin edebilirsiniz: girişi için

$.when($('body').hide()).then(function() { 
    $(window).resize(function(){ 
     setTimeout(function(){ 
      reshuffle(); 
     }, 100);//100ms 
    }); 
}); 

documentation

+0

hızlı cevap için teşekkürler, bu deneyin bir deneyin verecektir ancak .hide aslında yeniden boyutlandırma olayından sonra gerçekte tekme (çünkü. Yeniden mevcut yeniden boyutlandırma kuyruğu olabilir) sürece, bu sorunu çözecek sanmıyorum kodunuzun doğru şekilde nasıl çalışacağını düşünün) "telefonun döndürülmesinden sonra yeniden boyutlandırır> bu gövdenin gizlediğini algıla> sonra yeniden boyutlandırma düzenini bekle> gecikmeli mizanpaj işlevini tetikler mi? – user885663

+0

Sorununuzu anladım Vücudun gizlendikten sonra yeniden şekillendirmek istediğini ve bunun (eğer yanılmadığım sürece) –

+0

gerçekten bunu test etmek için yeterince zamanım olmadığına inanıyorum ama bunu uygulamaya koyduğumda size haber vereceğine inanıyorum. İşi yapacağım gibi, karşılaştığım problem, telefondaki tarayıcının, yönlendirmeye ayak uydurmak ve içeriği manzaraya ulaşmadan önce gizlemek için yeterince hızlı olmamasıdır. – user885663