Раскрывающееся меню

peretc001

Новичок
Добрый вечер.

Есть раскрывающееся меню, при наведении мыши с задержкой:
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 и т.д.). Можно ли добавить проверку (открыто ли меню) и закрывать его по клику в любом месте документа. Или как это правильно делается подскажите, пожалуйста.
 

AnrDaemon

Продвинутый новичок
Подложи под меню оверлей на весь экран и закрывай меню по клику на нём.
 
Сверху