我有这样的代码,它将隐藏页面标题,如果它是可见的,并点击下拉菜单按钮。
$('.site-overlay-toggle .btn').on("click", function(){
if ( $(".page-title").is(':visible') ) {
$( ".page-title" ).hide();
} else {
$( ".page-title" ).show();
}
});只要下拉菜单是手动单击打开和单击关闭即可工作。如果我单击同一页面上菜单中的锚链接,页面将向下滚动到正确的部分,下拉菜单将自动关闭。但是,这不会触发此代码。
是否有一种方法可以检测菜单是否自动关闭?
发布于 2017-02-02 14:59:22
您可以在事件中使用jQuery $('.site-overlay-toggle .btn').trigger('click')作为锚。
发布于 2017-02-02 15:11:14
如果你有这样的菜单
<button type="btn btn-navbar" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="false"> <span class="icon-bar"></span>这就是当菜单关闭时代码看起来的样子。
但是如果菜单是打开的,代码如下所示
<button type="btn btn-navbar" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="true"> <span class="icon-bar"></span>因此,您可以使用函数.is(“折叠”)或.hasClass(“折叠”)来实现,如果菜单关闭,如果不是,则可以使用flase,或者您可以获得aria展开的状态。
http://api.jquery.com/is/
https://stackoverflow.com/questions/42005335
复制相似问题