Отловить событие resize для одного значения
Здравствуйте уважаемый форумчане!
Задача состоит в том чтобы выполнить некую функцию тогда и только тогда когда событие window.resize прошло порог в 1440px (туда или обратно). Логично было написать такую штуку:
$(window).resize(function () {
if($(window).width()===1440){
//my actions
}
})
Но, как оказалось, ресайз может оказаться весьма резким, и нужное мне значение просто будет пропущено. З.Ы. Я знаю что этот пост будут читать "особо умные" пользователи, которым непременно расскажи "всю суть задачи, и вообще я не понимаю зачем такое реализовывать", поэтому немного объясню. Есть самописная карусель, которая в адаптивной версии сайта требует перезагрузки страницы, для того чтобы загрузиться ещё раз, с новыми значениями, и адекватно работать дальше. Точно так-же при переходе из "адаптивной" версии в "десктопную" нужна перезагрузка страницы. Порог "адаптива" состовляет как раз 1440px. И я хочу при его прохождении обновлять дом-узел с каруселькой. |
<div id="result"></div>
<div id="current"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var oldDelta = $(window).width() - 1440, oldSign = oldDelta / (Math.abs(oldDelta)|| 1), newDelta, newSign;
$(window).resize(function () {
newDelta = $(window).width() - 1440, newSign = newDelta / (Math.abs(newDelta)||1);
current.textContent = newDelta;
if(oldSign != newSign){
result.innerHTML += ((oldSign < 0)?"Bigger":"Less") + "<br>";
oldSign = newSign;
}
})
</script>
|
@mediaquery проще ) https://www.w3schools.com/css/tryit....eries_fontsize
тогда обе разметки должны быть на странице, просто при одном размере показываем одну, при другом другую. или смиксовать что-то среднее ) |
Вы чего ребята ? есть событие для этого
window.matchMedia('(min-width: 1440px)').addListener(e=>console.log('отметка пройдена'));
|
Цитата:
Цитата:
Цитата:
|
только вот так укажите
max-width: 1440px |
Цитата:
можно одни и те же блоки использовать... |
Цитата:
Вопрос решён. Тема закрыта. |
| Часовой пояс GMT +3, время: 11:35. |