jquery:添加settime函数

时间:2012-07-10 12:00:37

标签: jquery animation settimeout

我找到了Mary Lou的代码http://tympanus.net/codrops/2010/06/02/smooth-vertical-or-horizontal-page-scrolling-with-jquery 我尝试在5秒后自动添加动画。不幸的是,无济于事。

我可以寻求帮助,并添加这些内容。我不是程序员,也不知道我还有什么奇怪的技巧。

$(function() {
            $('ul.nav a').bind('click',function(event){
                var $anchor = $(this);
                    $('html, body').stop().animate({
            scrollLeft: $($anchor.attr('href')).offset().left
            }, 1000);
            event.preventDefault();
            });
       });

THX 德德

1 个答案:

答案 0 :(得分:1)

1000中的animate设置动画持续时间,因此如果您想在动画星星之前等待,则应使用:delay(5000),如下所示:

$(function() { 
            $('ul.nav a').bind('click',function(event){ 
                var $anchor = $(this); 
                    $('html, body').stop().delay(5000).animate({ 
            scrollLeft: $($anchor.attr('href')).offset().left 
            }, 1000);
            event.preventDefault(); 
            }); 
       }); 

如果delay不起作用,请尝试编写idle而不是延迟。

如果你希望动画在加载页面后点击OR 5秒rihgt时有效,你应该这样做:

$(document).ready(function () {
      $('ul.nav a').bind('click',function(event){ 
           var $anchor = $(this); 
           $('html, body').stop().animate({ 
                scrollLeft: $($anchor.attr('href')).offset().left 
           }, 1000);
           event.preventDefault(); 
       }); 
       var $anchor = $('ul.nav a');
       $('html, body').stop().delay(5000).animate({ 
            scrollLeft: $($anchor.attr('href')).offset().left 
       }, 1000);
       event.preventDefault(); 

});

希望这有用!