romich
@romich
Frontend разработчик

Как правильно повесить append на window.resize?

Делаю мобильное меню, выполняю append при 750 пикселях, все работает. Но при этом не работают скрипты которые ниже. И все это когда прописываю window.resize

var w = window.innerWidth ? window.innerWidth : $(window).width();
if (w<=749) {
$(window).resize(function(){
   $('header').append($('.menu'));
   .............. мои мобильные скрипты
 });
}

при таком варианте не работаю "мои мобильные скрипты", также они не работают, если все оборачивать в window.resize(function(){}
Как правильно сделать, чтобы все работало и на resize?
  • Вопрос задан
  • 291 просмотр
Пригласить эксперта
Ответы на вопрос 1
trushka
@trushka
При ресайзе надо либо добавлять, либо убирать меню в зависимости от ширины (хотя правильнее сделать это в css с помощью медиазапросов), при этом проверка размера должна быть ВНУТРИ обработчика resize, а сам обработчик вызвать сразу после создания:
$(window).resize(function(){
  if ((window).width()<150) {...}
  else {...}
}).resize()
А скрипты надо сразу выполнять. и проверять необходимость их выполнения не размером экрана, а, допустим, наличием touch-events, если они для нормального функционирования тачскрина, например.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы