我已经制作了一个下拉菜单,它工作正常,但锚点(a href="#"
)不起作用。
我认为剧本有问题,但我无法理解。
有人可以帮我吗?
<ul class="menu">
<li class="listMenu on">
<a class="depth1" href="#">aaa</a>
<div class="depth2Wrap">
<ul class="depth2">
<li><a href="b.html">bbb</a></li>
<li><a href="c.html">ccc</a></li>
</ul>
</div>
</li>
<li class="listMenu"><a class="depth1" href="d.html">ddd</a></li>
</ul>
$(function($) {
var li = $('.menu>.listMenu');
li.addClass('off');
$('.menu .on').find('.depth2Wrap').show();
$('.menu>.listMenu>a').click(function() {
var myArticle = $(this).parents('.listMenu:first');
if(myArticle.hasClass('off')){
li.addClass('off').removeClass('on');
li.find('.depth2Wrap').slideUp(100);
myArticle.removeClass('off').addClass('on');
myArticle.find('.depth2Wrap').slideDown(100);
li.removeClass('fir_sele');
} else {
myArticle.removeClass('on').addClass('off');
myArticle.find('.depth2Wrap').slideUp(100);
li.removeClass('fir_sele');
}
return false;
});
});
答案 0 :(得分:3)
删除以下
return false;
return false
告诉浏览器不要完成默认操作,该操作位于链接之后。
请参阅What's the effect of adding 'return false' to a click event listener?