Задать вопрос
@litash

Как в jquery media отслеживать ориентацию?

ребят есть медиа запрос в jq.
if(window.matchMedia('(max-width: 991px)').matches) {
$('.caption').click(function(){
$(this).siblings('.info-descr').slideToggle();
$(this).find('.right-arrow').toggleClass('rotate');
});
}

но при переходе в landscape ориентацию, код срабатывает тоже, а там уже 1024px ширина приходится обновлять страницу чтобы код уже не работал.
Как сделать что бы оно отслеживало изменения при переходе в portrait срабатывал код, при переходе в landscape не работал? я гуглил много. пробовал варианты с
window.addEventListener("orientationchange", function() {
if (window.matchMedia("(orientation: portrait)").matches) {
alert("PORTRAIT")
}
if (window.matchMedia("(orientation: landscape)").matches) {
alert("LANSCAPE")
}
}, false);

Но все работало коряво. Видимо я чего то не догоняю и не понимаю где должна быть функция а где нет. Прошу помощи.
  • Вопрос задан
  • 442 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
byte916
@byte916
Портретный от альбомного отличается только соотношением сторон, поэтому лучше всего обнаруживать смену при событии resize
Вот, например
https://jsfiddle.net/6t6fbkcy/7/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ivanq
@Ivanq
Знаю php, js, html, css
Ну например

$('.caption').click(function(){
if(window.matchMedia('(max-width: 991px)').matches) {
$(this).siblings('.info-descr').slideToggle();
$(this).find('.right-arrow').toggleClass('rotate');
}
});
Ответ написан
Ваш ответ на вопрос

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

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