这个问题确实让我困惑了很长一段时间,最终解决方案是强制从 Google CDN 加载旧版本的 jQuery。
我用这种结构构建了一个菜单:
<ul>
<li class="top-nav">
<a href="#">Top Item One</a>
<ul class="sub-nav hidden">
<li>Sub Item One</li>
<li>Sub Item Two</li>
<li>Sub Item Three</li>
</ul>
</li>
<li class="top-nav">
<a href="#">Top Item Two</a>
<ul class="sub-nav hidden">
<li>Sub Item One</li>
<li>Sub Item Two</li>
<li>Sub Item Three</li>
</ul>
</li>
... etc ...
</ul>
我有一个非常简单的切换功能,因此当单击“顶部导航”时,子导航会向下滑动并出现。
$('li.nav-top>a').toggle(function(){
$(this).addClass('active');
$(this).siblings('.nav-sub').slideDown(100);
}, function(){
$(this).removeClass('active');
$(this).siblings('.nav-sub').slideUp(100);
});
令人难以置信的令人困惑的是,在最新版本的 jQuery 中,这段代码会导致所有top-nav
列表项折叠并消失,我不知道为什么,因为它只是一个切换,甚至没有针对顶级项目!
(网站是 www.sjofasting.no)