【发布时间】:2011-05-01 21:18:33
【问题描述】:
这只是关于 jQuery 的一个非常新手的问题,但我只是用它来创建一个简单的手风琴菜单。 HTML 输出如下:
<ul id="nav-sub">
<li class="sub-level-0"><a href="#">Menu Item One</a></li>
<li class="parent-here last sub-level-0"><a href="#">Menu Item Two</a>
<ul>
<li class="here sub-level-1"><a href="#">Sub Menu Item One</a></li>
<li class="last sub-level-1"><a href="#">Sub Menu Item Two</a></li>
</ul>
</li>
而我目前拥有的 jQuery 是:
$(document).ready(function() {
// Show the children of the first product on page load but leave the others hidden
$("ul#nav-sub li.parent-here ul").show();
// Then attach a visibility toggle to each of the parents
if ( $("ul#nav-sub li.sub-level-0 ul").size > 0 ) {
$("ul#nav-sub li.sub-level-0 > a").click(function(){
$(this).next().slideToggle("slow");
return false; //Prevent the browser jump to the link anchor
});
}
});
这是我可以让它完全正常工作的最接近的方法,但唯一不起作用的是切换动画。它不是一个缓慢的过渡,而是直接打开。
我基本上想要的是获得缓慢的过渡效果,但如果菜单项有任何子项(子列表 - 如上面菜单项所示二)。我需要菜单项一返回 true 并直接进入该页面。
谢谢
【问题讨论】:
-
有什么理由不使用现有的手风琴插件之一?
-
你看过JqueryUI 还是真的只是想自己构建它来学习或其他什么?
-
我听说过 jQuery UI 并且知道 Accordion 选项,但是是的,我刚刚进入 jQuery 并且想自己编写任何东西来熟悉它。当我对它有信心时,jQuery UI 将提供有用的时间节省,但直到那时。
-
嗨,Ian 你的代码似乎也不起作用jsfiddle.net/gJXL8。我厌倦了带有子菜单的两个顶部菜单,并且出现了问题......无论如何我重写了下面的一些代码。 . 希望没问题?