我的导航菜单按照我想要的方式工作,但是当我点击子菜单中的链接时,它不会加载页面。它只会启动淡出效果。我不知道为什么链接不会加载页面。如果我关闭jQuery,它工作正常。知道为什么会这样,以及如何解决它?
var delay = 100;
var fade = 400;
$j(function(){
$j('#access-navi li.sub').toggle(function(){
$j(this).find('ul li a').each(function(i){
$j(this).delay(i*delay).fadeIn(fade);
});
}, function() {
$j('#access-navi li.sub').find('ul li a').fadeOut(fade/2);
});
});
HTML:
<div id="access-navi" class="no-j" role="navigation">
<ul>
<li><a href="/">Home</a></li>
<li class="sub"><a href="#">Code</a>
<ul>
<li><a href="/code/html-css/">Html.Css</a></li>
<li><a href="/code/java/">Java</a></li>
<li><a href="/code/jquery/">jQuery</a></li>
<li><a href="/code/php/">Php</a></li>
</ul>
</li>
</ul>
<div class="clear"></div>
</div>
答案 0 :(得分:1)
$j(function(){
var inner="";
$j('#access-navi .sub > a').toggle(function(){
inner=$j(this).parent().find('ul li');
inner.each(function(i){
$j(this).delay(i*delay).fadeIn(fade);
});
},function(){
inner.fadeOut(fade/2);
});
});
哦,我在.sub
中隐藏了LI而不是LI A,只隐藏了IMO
事件没有发生,但我不确定这是一个副作用或故意行为,因为你将重新加载页面。我正在使用inner
变量来缓存此jQuery选择器的结果,而不是在下一个切换中再次读取它。
如果您有任何问题,请告诉我,我很乐意帮助您:)
干杯
-G。