【发布时间】:2026-02-11 17:45:01
【问题描述】:
我遇到了一个模板问题,当单击菜单项时移动菜单不会折叠。试图解决它添加额外的类,额外的 ID,但仍然存在。它仅在再次单击汉堡包图标时关闭/隐藏。而且这特别烦人……
导航栏html代码为:
<!-- Fixed navbar -->
<div class="navbar navbar-smak navbar-fixed-top" id="navbar" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"><i class="fa fa-bars"></i></a>
<h1><a class="navbar-brand animate" href="#home">TEST SITE</a></h1>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right animate">
<li><a class="btn-navbar" href="#home">Home</a></li>
<li><a href="#blog">Blog</a></li>
<li><a href="#contact">Contacto</a></li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
这是我正在处理的虚拟 html 文件,欢迎下载并查看:https://aleare.com.ar/testing3/index2tst.html
这是处理折叠菜单的函数:
$('a[href*=#]').each(function () {
if (filterPath(location.pathname) == filterPath(this.pathname) && location.hostname == this.hostname && this.hash.replace(/#/, '')) {
var $targetId = $(this.hash),
$targetAnchor = $('[name=' + this.hash.slice(1) + ']');
var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;
if ($target) {
$(this).click(function () {
//Hack collapse top navigation after clicking
topMenu.parent().attr('style', 'height:0px').removeClass('in'); //Close navigation
$('.navbar .btn-navbar').addClass('collapsed');
var targetOffset = $target.offset().top - 52;
$('html, body').animate({
scrollTop: targetOffset
}, 800);
return false;
});
}
}
});
有人知道为什么会失败吗?
【问题讨论】:
-
你应该看看Bootstrap插件getbootstrap.com/docs/4.3/components/navbar
标签: javascript jquery responsive