2015-04-29 15 views
8

i

$(window).resize() 

o garip çalışır ...

ben bu kodu var benim iPhone5 üzerinde safari ile fark:

$(document).ready(function() { 
$(window).resize(function() { 
    avviaChart(); 
    initialize(); 
    if($('#time').is(':checked')){ 
     $("#time").removeAttr('checked'); 
     $("#Time").css('border','2px solid #ffffff'); 
    } 
    }); 
}); 

bu kod çalışması gerekir sadece pencere değişiklik boyutları Diğer tarayıcı ile .... çok iyi, ama safari ile de sayfa kaydırma (ve pencerenin boyutları değişmezse) kod çalışır ...

NASIL OLABİLİR?

+0

[iphone/ipad beklenmeyen yeniden boyutlandırma olaylarını tetikleme] olası muhtelif testlerde (http://stackoverflow.com/questions/8898412/iphone-ipad-triggering-unexpected-resize-events) –

cevap

13

Bu, iOS6 Safari'den gerçekleşen bilinen bir hatadır. Yeniden boyutlandırma olayı kaydırma yaparken rasgele hareket eder. Neyse ki benzer bir soruna da it's not a jQuery issue.

This answer sorununuzu çözebilir.

tembel İçin

:

3Stripe Eğer "penceresi genişliği Mağaza ve aslında sizin $ ile (pencere) .resize fonksiyonunu devam etmeden önce değişip değişmediğine bakın"

Onun kod pasajını gerektiğini yayınlanmıştır : Gördüğünüz gibi sayfada aşağı ne zaman ve üst adres çubuğu boyutuna kaydırma olacak ne zaman geri dönüş inci

jQuery(document).ready(function($) { 

    /* Store the window width */ 
    var windowWidth = $(window).width(); 

    /* Resize Event */ 
    $(window).resize(function(){ 
     // Check if the window width has actually changed and it's not just iOS triggering a resize event on scroll 
     if ($(window).width() != windowWidth) { 

      // Update the window width for next time 
      windowWidth = $(window).width(); 

      // Do stuff here 

     } 

     // Otherwise do nothing 

    }); 

}); 
+0

çözüm! Teşekkür ederim! –

+1

Bu sürümün hangi sürümde kullanıma sunulduğundan emin değilim, ancak Mobile Safari 7+ sürümünde, sayfa yukarı kaydırıldığında Safari, tarayıcı denetimlerini en aza indirir ve bu da görünüm boyutunun değişmesine neden olur. Bu cevap bulduğum tek geçerli cevap. Şimdi sadece genişleme, yükseklik ve yönelimi ana ad alanımdaki başlatma işleminin bir parçası olarak saklıyorum. –

+0

Sevindim Craig'e yardım edebilirim! :) –

4

, iphone/ipad ve android cihazlarda, adres çubuğu küçük olacaktır e gerçek boyut, bu işlem window.resize olayını tetikler

+0

Bu mantık geliyor, şimdi bunun neden hala iOS 9'da olduğunu anlayabiliyorum. – bluantinoo

0

Pencerede herhangi bir şeyin boyutunu değiştiren herhangi bir işleyici, yeniden boyutlandırma olayını tetikleyecek ve bazen infinite resize call içinde sıkışmış olacaksa, bu sorun ios'a özeldir. Yukarıda belirtildiği gibi, previous width'u her ikisi de eşitse current width ile karşılaştıran bir koşul var.

İlgili konular