2016-08-24 83 views
0

我上个月帮助/使用过一个网站项目hte,但现在卡住了,因为菜单的.toggle函数无法按预期工作。切换突然不起作用,JQuery

我做了完整的菜单here

jQuery(document).ready(function() { 
jQuery('.menuD').click(function(e) { 
    jQuery(this).toggleClass('active'); 
    jQuery('.mennu').toggleClass('active'); 

    e.preventDefault(); 
    }); 
}); 

的小提琴(这是我第一次用小提琴,所以我希望我已经照耀处一切正确的方式,我了解它,因为我没有以包括“头”区域)。

我真的不明白为什么它不工作,因为我去年为我自己的页面做了类似的解决方案,可以完美地工作和验证。 Javascript并不是我最强大的语言,所以一些帮助找到问题将被appriciated。

+0

检查此[DEMO](https://jsfiddle.net/sb2jaok9/5 /) – guradio

+0

哦,那太棒了,非常感谢你,必须对它们进行比较以查看我缺少的位置。 –

+0

检查这部分'jQuery(this).parent()。next()。toggleClass('active');'你想要切换的菜单不是你点击的元素,你需要正确引用它 – guradio

回答

0

你有一个错字:

jQuery('.mennu').toggleClass('active'); 

必须

jQuery('.menu').toggleClass('active'); 
0

var timeoutMenu = null; 
 
$('.trigger').on("click", function() { 
 
    $('.dropdown').toggleClass('active'); 
 
}); 
 

 
$('.trigger').hover(function() { 
 
    clearTimeout(timeoutMenu); 
 
    $('.dropdown').toggleClass('active'); 
 
}, function() { 
 
    setTimeout(function() { 
 
     $('.dropdown').removeClass('active'); 
 
    }, 500); 
 
});
.menu, .menu ul { 
 
     list-style:none; 
 
     cursor:pointer; 
 
     margin:0; 
 
     padding:0; 
 
    } 
 
    .menu a { 
 
     float:left; 
 
     text-decoration:none; 
 
     color:#000; 
 
    } 
 
    .menu li:hover > a { 
 
     color:#666; 
 
    } 
 
    .menu ul { 
 
     opacity:0; 
 
     visibility:hidden; 
 
     position:absolute; 
 
     top:25px; 
 
     z-index:1; 
 
     background:#666; 
 
    } 
 
    .menu li:hover > ul { 
 
     opacity:1; 
 
     visibility:visible; 
 
    } 
 
    .menu ul a { 
 
     padding:5px; 
 
     display:block; 
 
     text-transform:none; 
 
    } 
 
    .menu ul a:hover { 
 
     background-color:lightgray; 
 
    } 
 
.trigger:hover .dropdown, 
 
.trigger.clicked .dropdown { 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
 
<ul class="menu"> 
 
    <li> <a class="trigger">MENU</a> 
 

 
     <ul class="dropdown"> 
 
      <li><a href="#">Item 1</a></li> 
 
      <li><a href="#">Item 2</a></li> 
 
      <li><a href="#">Item 3</a></li> 
 
      <li><a href="#">Item 4</a></li> 
 
      <li><a href="#">Item 5</a></li> 
 
     </ul> 
 
    </li> 
 
</ul>