2012-02-20 11 views
20

Estoy tratando de crear un sitio web para dispositivos móviles. Tengo el evento de "cambio de tamaño" enlazado en la ventana, que debe reorganizar los elementos cuando el dispositivo móvil está girando (retrato < -> paisaje). En iPhone y Samsung Galaxy SII, el evento se desencadena cuando estoy desplazándome hacia abajo en la página, y eso no es bueno.javascript resize event en scroll - mobile

¿Alguna sugerencia?

+0

Ver https://stackoverflow.com/q/8898412/89818 – caw

Respuesta

38

Guarda en caché el ancho de la ventana gráfica y en el redimensionamiento devuelve falso si el ancho sigue siendo el mismo.

Un pequeño fragmento de jQuery:

var cachedWidth = $(window).width(); 
    $(window).resize(function(){ 
     var newWidth = $(window).width(); 
     if(newWidth !== cachedWidth){ 
      //DO RESIZE HERE 
      cachedWidth = newWidth; 
     } 
    }); 
+2

Esta fue la respuesta que estaba buscando. Tan agradable. OP Esta debería ser la respuesta aceptada. Esta es la forma correcta de hacerlo. –

+0

@LukeFlego es la mejor manera de solucionar este error, aunque no es el código ideal. A veces la solución más fácil es la mejor :) – sidonaldson

+1

Se metió en el mismo problema, y ​​esto lo solucionó. Esta es la respuesta correcta. – AldoTheApache