jQuery - 仅显示当前 ul

发布于 2024-12-01 09:31:02 字数 369 浏览 1 评论 0原文

我是 jQuery 新手,对以下导航有一个小问题:

http://jsfiddle.net/6Dh8j/7/

本质上,我喜欢这个可爱网站的创意制作部分的导航:http://www.gainsburyandwhiting.com >参见投资组合>时装秀等...

我需要隐藏当前的 ul 并在其位置显示一个新的 ul。目前,它们会显示,直到我取消单击父级。

有什么想法吗?

谢谢, 红色的

im new to jQuery and have a slight issue with the following navigation:

http://jsfiddle.net/6Dh8j/7/

Essentially, I love the navigation in the Creative Production section of this lovely site: http://www.gainsburyandwhiting.com > see Portfolio > Fashion Show etc...

I need to hide the current ul and show a fresh one in its place. At the moment, they show until I un-click the parent.

Any thoughts?

Thanks,
Red

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

給妳壹絲溫柔 2024-12-08 09:31:02

您需要隐藏当前 ul 的同级后代的所有 ul 元素,例如,

$(this).siblings().find('ul').fadeOut('fast');

这会找到单击的 ul 的每个同级(所有其中示例中为 ul),并查找所有在其边界内的 ul 元素并将其淡出。

在您的代码的上下文中:

$("nav ul li").find("ul").hide().end()
  .click(function(e) {
     if (this == e.target) {
       $(this).siblings().find('ul').fadeOut('fast');
       $(this).children('ul').fadeToggle('fast');    
     }
});

You need to hide all the ul elements that are descendant of the siblings of the current ul e.g.

$(this).siblings().find('ul').fadeOut('fast');

This finds each sibling of the clicked ul (all of which are ul in the example) and finds all the ul elements that are withing their bounds and fades them out.

In the context of your code:

$("nav ul li").find("ul").hide().end()
  .click(function(e) {
     if (this == e.target) {
       $(this).siblings().find('ul').fadeOut('fast');
       $(this).children('ul').fadeToggle('fast');    
     }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文