peretc001
Новичок
Добрый вечер.
Есть раскрывающееся меню, при наведении мыши с задержкой:
но т.к. на мобильных устройствах нет наведения мыши, я добавил код открытия меню по клику:
А вот если человек открыл меню, а потом решил остаться на этой же странице. Меню мешает просмотру, надо его закрыть по клику в любом месте документа.
Я могу добавить закрытие по клику div, например #menu, #page, #product и т.д.:
$("#menu").on("click", function(){ $("#nav_menu_hide").slideUp(); });
Проблема в том, что на разных страницах div блоки отличаются (#page, #block, #block1 и т.д.). Можно ли добавить проверку (открыто ли меню) и закрывать его по клику в любом месте документа. Или как это правильно делается подскажите, пожалуйста.
Есть раскрывающееся меню, при наведении мыши с задержкой:
HTML:
jQuery(document).ready(function(){
var intervalID;
jQuery("ul li").hover(
function () {
var nav_menu = jQuery(this).find("#nav_menu_hide");
intervalID=setTimeout(
function() {
nav_menu.slideDown();
}, 500);
},
function () {
jQuery("#nav_menu_hide").slideUp();
clearInterval(intervalID);
}
);
});
HTML:
$("ul li").on("click", function(){
$("#nav_menu_hide").slideDown();
});
Я могу добавить закрытие по клику div, например #menu, #page, #product и т.д.:
$("#menu").on("click", function(){ $("#nav_menu_hide").slideUp(); });
Проблема в том, что на разных страницах div блоки отличаются (#page, #block, #block1 и т.д.). Можно ли добавить проверку (открыто ли меню) и закрывать его по клику в любом месте документа. Или как это правильно делается подскажите, пожалуйста.