[英]How to toggle sidebar when you click on element of them?
I have the following sidenavbar: http://bootsnipp.com/snippets/featured/fancy-sidebar-navigation 我有以下sidenavbar: http ://bootsnipp.com/snippets/featured/fancy-sidebar-navigation
All works fine, I implemented to my website, but I want when you click on element of list, the sidenavbar to close, my idea was to add an id="link-item"
and to add in js file when you click on element the sidenavbar will close. 一切正常,我实现到我的网站,但我想当你点击列表的元素,sidenavbar关闭,我的想法是添加一个
id="link-item"
并在你单击元素时添加js文件sidenavbar将关闭。 My try to make this: 我尝试做到这一点:
First Try: 第一次尝试:
$('#link-item').click(function () {
var trigger = $('.hamburger'),
overlay = $('.overlay'),
isClosed = false;
$('#link-item').click(function () {
hamburger_cross();
});
function hamburger_cross() {
if (isClosed == true) {
overlay.hide();
trigger.removeClass('is-open');
trigger.addClass('is-closed');
isClosed = false;
} else {
overlay.show();
trigger.removeClass('is-closed');
trigger.addClass('is-open');
isClosed = true;
}
}
$('[data-toggle="offcanvas"]').click(function () {
$('#wrapper').toggleClass('toggled');
});
});
Second Try: 第二次尝试:
trigger.click(function () {
hamburger_cross();
});
$('#link-item').click(function () {
hamburger_cross();
});
Use in list item data-toggle="offcanvas"
just like 在列表项
data-toggle="offcanvas"
就像
<li>
<a id="id" data-toggle="offcanvas" href="#">Home</a>
</li>
var trigger = $('.hamburger, #id')
You can simply let the trigger run on the nav .sidebar-nav li
elements like this: 您可以简单地让触发器在
nav .sidebar-nav li
元素上运行,如下所示:
$(document).ready(function () {
var trigger = $('.hamburger, nav .sidebar-nav li'),
overlay = $('.overlay'),
isClosed = false;
trigger.click(function () {
hamburger_cross();
});
function hamburger_cross() {
if (isClosed == true) {
overlay.hide();
trigger.removeClass('is-open');
trigger.addClass('is-closed');
isClosed = false;
} else {
overlay.show();
trigger.removeClass('is-closed');
trigger.addClass('is-open');
isClosed = true;
}
}
$('[data-toggle="offcanvas"], nav .sidebar-nav li').click(function () {
$('#wrapper').toggleClass('toggled');
});
});
I think it is a poor implementation though. 我认为这是一个糟糕的实现。 This does all you need:
这就是您所需要的:
$(document).ready(function () {
var trigger = $('.hamburger, nav .sidebar-nav li');
trigger.click(function () {
$('.overlay').toggle();
trigger.toggleClass('is-open is-closed');
$('#wrapper').toggleClass('toggled');
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.