首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery在代码中导航

问jquery在代码中导航
EN

Stack Overflow用户
提问于 2010-04-19 04:49:43
回答 2查看 254关注 0票数 1

当单击导航链接时,尝试淡出页面上的元素,然后转到单击的链接:

代码语言:javascript
复制
$("#navigation a").click(function() {   
  var $clickobj = $this;  
  $("div#content").animate({opacity: 'toggle', paddingTop: '0px'}, 'slow',function(){  
        $("div#navigation").animate({opacity: 'toggle', paddingTop: '0px'}, 'slow', function(){  
          $("div#logo").animate({opacity: 'toggle', paddingTop: '0px'}, 900, function(){  
     $clickobj.click();       
     });  
      });  
   });  
   return false;  
 });

但这只是直接导航与fade out...any的想法?

EN

回答 2

Stack Overflow用户

发布于 2010-04-19 04:52:58

它之所以这样做,可能是因为第一行的$this抛出了一个未定义的错误,所以它不会执行脚本,只是出错,然后继续正常的锚定行为。$this应该只是不带$的this,如下所示:

代码语言:javascript
复制
$("#navigation a").click(function() {   
  var $clickobj = $(this).unbind('click');
  $("div#content").animate({opacity: 'toggle', paddingTop: '0px'}, 'slow',function(){  
    $("div#navigation").animate({opacity: 'toggle', paddingTop: '0px'}, 'slow', function(){  
      $("div#logo").animate({opacity: 'toggle', paddingTop: '0px'}, 900, function(){  
        $clickobj.click();       
      });  
    });  
  });  
  return false;  
});

此外,上面的.unbind()删除了这个处理程序,所以它不会循环。

票数 0
EN

Stack Overflow用户

发布于 2010-04-19 04:57:17

动画在计时器上运行,所以您需要等待它完成。这段代码看起来像是进入了一个递归循环,所以在第三个动画结束后调用window.location:

代码语言:javascript
复制
$("#navigation a").click(function(e) {   
  var href = $(this).attr('href');
  $("div#content").animate({opacity: 'toggle', paddingTop: '0px'}, 'slow',function(){  
        $("div#navigation").animate({opacity: 'toggle', paddingTop: '0px'}, 'slow', function(){  
          $("div#logo").animate({opacity: 'toggle', paddingTop: '0px'}, 900, function(){  
     window.location = href;       
     });  
      });  
   });  
   e.preventDefault();
 });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2663895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档