Андрей Юрчук,
А JQuery в несложных операциях редко подводит. Этот случай редкость, если это вообще из-за JQ
потому что вы говорите за JQuery, а пишете какую-то
лапшу перемешанную!?
см.
JQuery API Documentation.width().resize()Определяем размер окна браузера (JavaScript, jQuery)
как-то так:
$(function(){
if ($(window).width() < 1184) {
$( "#nav1" ).css( "display", 'none');
$( "#nav2" ).css( "display", 'none');
}
$(window).resize(function(){
if ($(window).width() < 1184) {
$( "#nav1" ).css( "display", 'none');
$( "#nav2" ).css( "display", 'none');
} else {
$( "#nav1" ).css( "display", 'flex');
$( "#nav2" ).css( "display", 'flex');
}
})
$( ".nav-logo" ).click(function() {
if ($(window).width() < 1184) {
$( "#nav1" ).toggle( "slow", function() {
// Animation complete.
// $(this).rotate(100);
});
$( "#nav2" ).toggle( "slow", function() {
// Animation complete.
// $(this).rotate(100);
});
} else {
$( "#nav1" ).css( "display", 'flex');
$( "#nav2" ).css( "display", 'flex');
}
});
});
Про window.matchMedia посмотрите статью:
Изучаем matchMedia API и object MediaQueryList
и судя по всему, в условии надо было писать так:
window.matchMedia('screen and (max-width: 1184px)').matches
if (window.matchMedia('screen and (max-width: 1184px)').matches) {
$( "#nav1" ).css( "display", 'none');
$( "#nav2" ).css( "display", 'none');
} else {
$( "#nav1" ).css( "display", 'flex');
$( "#nav2" ).css( "display", 'flex');
}
так же -
Адаптивный jQuery без window.matchMediaUPDATE:Извиняюсь, гоню. переработал )))
в принципе-то ваш скрипт работает!
PS: Замените у себя все значения 1184 на 1000 на jsfiddle и раздвиньте окно с результатом на максимум, все норм (у меня просто экран узкий, не влазит, сильно не могу раздвинуть :) ).
PPS: так же все скрипты должны быть либо в конце страницы, либо вызываться по onload (см. мой скрипт)