gpt4 book ai didi

javascript - 如何切换下拉导航菜单?

转载 作者:行者123 更新时间:2023-11-30 14:23:06 25 4
gpt4 key购买 nike

我的代码有问题,这是它应该做的,但没有。^^

例如单击“导航 1”,向下滑动并淡入子导航,然后单击“导航 2”,淡出子导航 1 并淡入子导航 2。

这就是我所拥有的:

var nav = $('.nav li.mega');
nav.children('.subnav-container').slideUp(0);
nav.click(function (e) {
e.preventDefault();
nav.children('.subnav-container').slideUp(500);
$(this).children('.subnav-container').slideDown(500);
});

我的 fiddle : http://jsfiddle.net/rzf7w69u/78/

我希望你们能帮助我完成我的代码。

最佳答案

共享代码中存在多个问题。

  1. 您正在公共(public)类中绑定(bind)事件(也由其他元素共享)。
  2. 管理向上滑动和向下滑动的逻辑。这是您的代码,希望这对您有所帮助。 '快乐编码..'

注意:我按照你的格式做了代码,所以这段代码可以进一步改进。

$(document).ready(function(){
$(".nav li.mega").hover(function(){
$(this).addClass("hover");
$(this).children(".subnav-container").addClass("hover");
},function(){
$(this).removeClass("hover");
$(this).children(".subnav-container").removeClass("hover");
});

var nav = $('.nav li.mega');
nav.children('.sibling').slideUp(0);
nav.click(function (e) {
e.preventDefault();
var ele=this;

if( $(ele).children('.sibling').hasClass('open')){
$(ele).children('.sibling').removeClass('open').slideUp(500);
}
else
{
if(nav.children('.open').length)
{
var child=nav.children('.open');
$(child).removeClass('open').fadeOut(500,function(){ $(ele).children('.sibling').addClass('open').fadeIn(500); });
}
else
{
$(ele).children('.sibling').addClass('open').slideDown(500);
}
}
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

</head>
<body>

<header>
<nav class="navbar navbar-top mod_navigation " itemscope="" itemtype="http://schema.org/SiteNavigationElement">
<div class="ws-navbar-collapse pull-left">
<ul class="nav navbar-nav">
<li class="submenu mega ncol-3 sibling nav-item dropdown subnav">
<a class="" href="url" >
<span itemprop="name">Nav 1</span>
</a>

<div class="subnav-container submenu mega ncol_4 sibling nav-item dropdown">
<div class="relative">
<ul class="nav sub-nav level-2">
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 1.1</span>
</a>
<div class="subnav-container submenu break_4 last">
<div class="relative">
<ul class="nav sub-nav level-3">
<li class="first">
<a class=" " href="url" >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" ">
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<div class="clear"></div>
</ul>
</div>
</div>
</li>
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 1.2</span>
</a>
<div class="subnav-container submenu break_4 last">
<div class="relative">
<ul class="nav sub-nav level-3">
<li class="first">
<a class=" " href="url" >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" ">
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<div class="clear"></div>
</ul>
</div>
</div>
</li>
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 1.3</span>
</a>
<div class="subnav-container submenu break_4 last">
<div class="relative">
<ul class="nav sub-nav level-3">
<li class="first">
<a class=" " href="url" >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" ">
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<div class="clear"></div>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
<li class="submenu mega ncol-3 sibling nav-item dropdown subnav">
<a class="" href="url" >
<span itemprop="name">Nav 2</span>
</a>

<div class="subnav-container submenu mega ncol_4 sibling nav-item dropdown">
<div class="relative">
<ul class="nav sub-nav level-2">
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 2.1</span>
</a>
<div class="subnav-container submenu break_4 last">
<div class="relative">
<ul class="nav sub-nav level-3">
<li class="first">
<a class=" " href="url" >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" ">
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<div class="clear"></div>
</ul>
</div>
</div>
</li>
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 2.2</span>
</a>
<div class="subnav-container submenu break_4 last">
<div class="relative">
<ul class="nav sub-nav level-3">
<li class="first">
<a class=" " href="url" >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" ">
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<div class="clear"></div>
</ul>
</div>
</div>
</li>
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 2.3</span>
</a>
<div class="subnav-container submenu break_4 last">
<div class="relative">
<ul class="nav sub-nav level-3">
<li class="first">
<a class=" " href="url" >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" " >
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<li class="">
<a class=" ">
<span itemprop="name">Sub Sub Nav</span>
<span class="page-title">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna</span> </a>
</li>
<div class="clear"></div>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
<li class="submenu mega ncol-3 sibling nav-item dropdown subnav">
<a class="" href="url" >
<span itemprop="name">Nav 3</span>
</a>

<div class="subnav-container submenu mega ncol_4 sibling nav-item dropdown">
<div class="relative">
<ul class="nav sub-nav level-2">
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 3.1</span>
</a>
</li>
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 3.2</span>
</a>
</li>
<li class="submenu first subnav">
<a class=" " href="url" >
<span itemprop="name">Sub nav 3.3</span>
</a>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>

</body>
</html>

关于javascript - 如何切换下拉导航菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52403909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com