使jQuery显示正确的子菜单,如果存在

这是我在这里发表的第一篇文章,所以我提前为任何糟糕的做法道歉。 我一直在寻找,但是还没有找到符合我需求的解决方案 – 也许我只是做错了。 但是这里:

我正在使用Big Cartel CMS构建一个站点,并且第一次深入研究jQuery。 我正在尝试创建一个水平和居中的导航菜单,在适当的位置显示下面的子菜单。 我对html和CSS很好,但我正在努力使用jQuery。

加价如下:

 

虽然此格式不会更改,但子菜单的选项数量可能(客户端可以随意更改)。 到目前为止我的jQuery:

 $('#mainNav ul').hide(); $('#mainNav li a').click(function(){ $('#mainNav li:has("ul")').each( function(){ $('nav').animate({bottom:'60px'},300,'easeOutQuint',function(){ //Do magic stuff here - ie display the correct sub-menu. }); } ); }); 

目前,这点击所有选项(我无法理解为什么)点击,我仍然没有到底如何只显示相应的子菜单。 可以将类添加到任何html元素中,如果这有助于简化操作。

提前致谢!

这个怎么样:

http://jsfiddle.net/qDX2q/3/

 $('#mainNav ul').hide(); $('#mainNav a') .click(function() { $('#mainNav ul').hide(); $(this).siblings("ul").show(); return false; });​ 

我认为你缺少的东西是:

  • 确保从click事件返回false,以便不遵循错误的url。
  • this关键字。 在上面的代码中, this实际上是您所在的锚标记。 所以你可以寻找兄弟姐妹并展示它们
    Interesting Posts