jQuery切换菜单隐藏/显示(当新菜单打开时关闭其他菜单)

感谢Nick Craver我有一个很好的切换菜单,但是我想出了一个问题,如果用户不断点击新菜单页面将继续增长,我不想要,所以这个想法是:

当一个菜单打开时,任何当前打开的菜单将关闭。

完整的来源是@ http://the-dot.co.uk/new/

这里是我正在使用的代码的2个片段。

 $(document).ready(function() { $("ul li a").click(function() { $(this).parent().next().toggle("fast"); }); });  

和HTML结构是

   

谢谢。

你可以这样做:

 $(function() { $("ul li a").click(function() { $(this).parent().next().toggle("fast").siblings("[id]").hide("fast"); }); }); 

你可以在这里测试一下 ,这样做会切换兄弟

  • ,但是然后查看具有ID属性的.siblings().hide()如果显示它们。


    如果没有锁定标记,您可以进一步简化它,如下所示:

      

    像这样的脚本:

     $(function() { $("li.content").hide(); $("ul.navigation").delegate("li.toggle", "click", function() { $(this).next().toggle("fast").siblings(".content").hide("fast"); }); }); 

    这是一个偏好的问题,但我发现这种方法更清洁,更具风格, 请查看结果 。