2016-09-29 2 views
0

эй у меня есть боковая панель offcanva, которая работает очень хорошо. То, что я хотел бы изменить, заключается в том, что пользователи должны закрыть боковую панель, выполняя кклик, где бы они ни задумывались. Например, внутри тела.как закрыть боковую панель щелчком внутри тела

На данный момент есть кнопка закрытия внутри боковой панели, которая возвращает ее по умолчанию.

function openNav() { 
    document.getElementById("left-sidebar").style.width = "250px"; 
} 

function closeNav() { 
    document.getElementById("left-sidebar").style.width = "0"; 
} 

открывается боковая панель

<a href="#" onclick="openNav()"><i class="icon-menu"></i></a> 

близко врезку

<a href="javascript:void(0)" class="closebtn" onclick="closeNav()"></a> 
+1

Возможный дубликат [Использовать JQuery, чтобы скрыть DIV, когда пользователь щелкает за него] (http://stackoverflow.com/questions/1403615/use-jquery-to- hide-a-div-when-the-user-clicks-outside-of-it) –

+0

См. следующий вопрос для очень похожего запроса. Ответы должны помочь здесь: http://stackoverflow.com/questions/6463486/jquery-drop-down-menu-closing-by-clicking-outside –

+0

он не работает мной .. – kdskii

ответ

2

Вы могли бы сделать это таким образом

// Toogle Left Sidebar 

$('#open-pulse-sidebar').click(function() { 
    $('.pulse-sidebar').toggleClass('active') 
}) 

$(document).click(function(e) { 
    var sidebar = $(".pulse-sidebar, #open-pulse-sidebar"); 
    if (!sidebar.is(e.target) && sidebar.has(e.target).length === 0) { 
    sidebar.removeClass('active') 
    } 
}); 

HTML:

<a href="#" id="open-pulse-sidebar"><i class="icon-menu circle-icon"></i></a> 

и ширина может быть выполнена через css.

Фор пример:

width: 19.24em; 
Смежные вопросы