使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元素中,如果这有助于简化操作。
提前致谢!
这个怎么样:
$('#mainNav ul').hide(); $('#mainNav a') .click(function() { $('#mainNav ul').hide(); $(this).siblings("ul").show(); return false; });
我认为你缺少的东西是:
- 确保从click事件返回false,以便不遵循错误的url。
-
this
关键字。 在上面的代码中,this
实际上是您所在的锚标记。 所以你可以寻找兄弟姐妹并展示它们