Помогите понять принцип работы.Есть функция для адаптивного меню. Все просто - при клике открывается/закрывается. Но при ресайзе должны прятаться/показываться определенные блоки.
Не могу понять где должна находиться функция .resize . Если она внутри функции menuAdapt(){} и она уже вызвана в момент готовности документа, то почему срабатывает $(window).resize(); внутри неё?
function menuAdapt(menuBtn, menu, header) {
var $menuBtn = menuBtn,
$menu = menu,
$header = header,
menuHeight;
$menuBtn.on('click', function(){
menuHeight = $header.height();
$menu.css('top', menuHeight);
$menu.slideToggle();
});
$(window).resize(function(){
if (window.matchMedia('(max-width: 768px)').matches && $($menu).is(':visible')) {
$($menu).hide();
} else if (window.matchMedia('(min-width: 768px)').matches) {
$($menu).show();
}
});
}
menuAdapt($('.header .glyphicon.glyphicon-menu-hamburger'), $('.header__navList'), $('.header'));