2012-02-20 3 views
20

Я пытаюсь создать сайт для мобильных устройств. У меня есть событие «resize», связанное с окном, которое должно переставлять элементы при повороте мобильного устройства (портрет < -> пейзаж). На iPhone и Samsung Galaxy SII событие срабатывает, когда я прокручиваю страницу, и это не хорошо.javascript изменить размер события на прокрутке - мобильный

Любые предложения?

+0

См https://stackoverflow.com/q/8898412/89818 – caw

ответ

6

Используйте вместо этого событие onOrientationChange и имущество window.orientation.

См. Также this answer.

Здесь ссылка to a test page.

38

Кэш ширины окна просмотра и при изменении размера возвращает значение false, если ширина остается неизменной.

Небольшой JQuery фрагмент:

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

Это был ответ, который я искал. Так мило. OP Это должен быть принятый ответ. Это правильный путь. –

+0

@ LukeFlego это лучший способ исправить эту ошибку, но не идеальный код. Иногда самое простое исправление - самое лучшее :) – sidonaldson

+1

Иди в эту же проблему, и это исправлено. Это правильный ответ. – AldoTheApache

Смежные вопросы