Я заметил что я из проекта в проект начинаю тянуть вот такую конструкцию, придумал ее довольно давно, когда только встретился впервые с js лицом к лицу :)
var mobileMarker = false;
updateContainer();
$(window).resize(function() {
updateContainer();
});
function updateContainer() {
if (window.innerWidth < 768) {
if(!mobileMarker){
//здесь выполняю какой-то код для мобильных, например перетаскиваю нужный блок в другое место
mobileMarker = true;
}
}else {
if(mobileMarker){
// на место возвращаю блоки, которые перетаскивал на мобильных
mobileMarker = false;
}
}
}
Впринципе как это работает меня устраивает, по ресайзу обновляется переменная и весь код внутри функции выполняется 1 раз, раньше помню столкнулся с тем что каждый пиксель на ресайзе вызывал функцию опять и опять) я это победил условием if(mobileMarker).
Знающие, скажите пожалуйста корректно ли вообще использовать такой подход, такой код, как подобные ситуации решаете вы. Спрашиваю т.к учусь совсем javascript'у и не с кем посоветоваться правильно ли я выполняю свои задачи) а то код может работает а подход в корне неверный) Просто очень часто наш дизайнер рисует мобилу и десктоп так, что без js там не разложишь блоки малой кровью :)