2015-03-04 2 views
1

Я создал окно переключения в левой части веб-страницы. Я хочу скрыть окно переключения, когда я нажимаю на любой якорный тег в меню или выхожу за пределы строки меню.Скрыть переключатель, когда я выхожу за пределы меню или нажимаю на любой пункт меню, используя jQuery

Я загрузил свой код в JSFiddle. Соответствующий код приведен ниже.

http://jsfiddle.net/66db9vec/

$(window).load(function(){ 
    $("[data-toggle]").click(function() { 
     var toggle_el = $(this).data("toggle"); 
     $(toggle_el).toggleClass("open-sidebar"); 
    }); 
}); 

ответ

3

Это должно работать. Скрипт в основном проверяет, является ли элемент щелчка значком переключения и переключает класс, если его нет - он удаляет его (не переключаясь снова, чтобы не отображать меню, если оно не предназначено).

$(document).mouseup(function (e) { 
    var toggle_el = $("[data-toggle]"); 
    var container = $("[data-toggle]").data("toggle"); 

    if (!toggle_el.is(e.target)) // if the target of the click isn't the container... 
    {   
     if($(container).hasClass("open-sidebar")) { 
      $(container).removeClass("open-sidebar"); 
     } 
    } 
    else { 
     $(container).toggleClass("open-sidebar"); 
    } 
}); 
+0

Спасибо, друг ... это работает как шарм. – Ishan

+0

У меня есть еще одна проблема с этим. он не работает на iframe. Как это решить ... ?? – Ishan

+0

Добро пожаловать! Не могли бы вы объяснить немного больше, в каком контексте вы используете iframe? –

Смежные вопросы