событие изменения размера javascript на прокрутке - мобильный

20

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

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

    
задан gabitzish 20.02.2012 в 14:31
источник
  • См. stackoverflow.com/q/8898412/89818 –  caw 09.01.2018 в 05:07

2 ответа

6

Вместо этого используйте onOrientationChange и свойство window.orientation .

Также см. этот ответ .

Здесь ссылка на тестовую страницу .

    
ответ дан scessor 20.02.2012 в 14:35
источник
39

Загрузите ширину окна просмотра, а при изменении размера возвратите значение false, если ширина остается прежней.

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

    var cachedWidth = $(window).width();
    $(window).resize(function(){
        var newWidth = $(window).width();
        if(newWidth !== cachedWidth){
            //DO RESIZE HERE
            cachedWidth = newWidth;
        }
    });
    
ответ дан sidonaldson 19.06.2014 в 18:48
источник
  • Это был ответ, который я искал. Так мило. OP Это должен быть принятый ответ. Это правильный путь. –  Luke Flego 29.02.2016 в 01:51
  • @ LukeFlego это лучший способ исправить эту ошибку, а не идеальный код. Иногда самое простое исправление - самое лучшее :) –  sidonaldson 29.02.2016 в 11:12
  • Иди в эту же проблему, и это исправлено. Это правильный ответ. –  AldoTheApache 01.03.2016 в 23:31
  • Это похоже на jQuery, и в этом вопросе нет ничего, но спасибо, сидоналдсон, за ответ - совсем неплохо. –  LGT 17.07.2016 в 13:44
  • @LGT правильно. Я обновлю ответ, чтобы сделать это ясно –  sidonaldson 18.07.2016 в 13:38