导航带子菜单淡入淡出效果,链接坏了 - jQuery

时间:2011-01-14 16:27:17

标签: jquery list tags navigation anchor

我的导航菜单按照我想要的方式工作,但是当我点击子菜单中的链接时,它不会加载页面。它只会启动淡出效果。我不知道为什么链接不会加载页面。如果我关闭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>

1 个答案:

答案 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。