javascript - 导航菜单切换滑动效果反复工作

标签 javascript jquery html css menu

我的网站 nav-menu 在移动菜单中使用了 slideToggle 功能。它有一个控制菜单打开/关闭的滑动切换器。其中一个菜单有一个子菜单。单击具有子菜单(包含 ul)的菜单时,子菜单打开和关闭并打开 4/5 次然后关闭。

我的代码是

<span class="menu-toggler"></span>
<ul class="nav-menu align-right">
  <li class="current"><a href="index.html#header">home</a></li>
  <li><a href="index.html#about-us">about us</a></li>
  <li><a href="index.html#services">services</a></li>
  <li><a href="index.html#works">works</a></li>
  <li><a href="index.html#team">team</a></li>
  <li><a href="index.html#blog">Blog</a></li>
  <li>
      <a href="#" class="extra">Extra</a>
      <ul>
          <li><a href="blog-three.html">blog grid 3</a></li>
          <li><a href="blog-four.html">blog grid 4</a></li>
          <li><a href="blog-single.html">blog single</a></li>
          <li><a href="portfolio-three.html">portfolio 3</a></li>
          <li><a href="portfolio-single.html">portfolio single</a></li>
       </ul>
   </li>
   <li><a href="index.html#contact">contact</a></li>
   <li><a href="" class="search-bar extra"><i class="fa fa-search"></i></a></li>
</ul>

还有我的js

$(document).on('click', '.menu-toggler' ,function(e){
   $('.nav-menu').slideToggle();
   $('.menu-toggler').toggleClass('open');
});

if($('.nav-menu li').find('ul')){
   $('.nav-menu li ul').addClass('drop-menu');
}

$(window).on('load resize', function(){
        if($(window).width() < 1000){
            $('.drop-menu').parent('li').find('a').on('click', function(){
                $('.drop-menu').slideToggle();
            })
        }
    })

如何停止子菜单的重复滑动

最佳答案

它可能正在阅读多次点击。只需在单击时执行向下滑动功能,并使用单独的功能隐藏菜单。

$(document).on('click', '.menu-toggler' ,function(e){
   $('.nav-menu').slideDown();
   $('.menu-toggler').toggleClass('open');
});

$('.open').on('click',function(){
$('.nav-menu').hide();
});

关于javascript - 导航菜单切换滑动效果反复工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31523091/

相关文章:

javascript - 'document.prodimage' 为空或不是对象

jquery - 垂直站点上的多个全屏背景图像

html - 输入框不是全宽

javascript - 带按钮的随机数生成器

javascript - 为什么在有 setTimeout 和 setInterval 的情况下,javascript 中没有 sleep 功能?

javascript - jQuery/Javascript 中带有复选框的 If 语句

javascript - 悬停时触发 div

jquery - 避免重复 jQuery 代码

javascript - 如何使用JS仅从DIV中获取字符串的一部分

javascript - 使用显示堆叠点的 d3.js 创建点图