2013-06-19 67 views
2

我是一个新手,已经实现了Javascript代码,我得到了其他地方,它精美的作品,让我的DIV与页面滚动:在Javascript中,我可以添加setTimeout以使其工作吗?

<script type="text/javascript"> 
<!-- // sick 
var scroll = 0; 
var marginTop = 0; 
$(document).ready(function() { 
    $(window).scroll(function() { 
     marginTop = ($(document).scrollTop() - scroll) + marginTop; 
     scroll = $(document).scrollTop(); 
     $("#scrollregister").animate({ 
      "marginTop": marginTop + "px" 
     }, { 
      duration: 1000, 
      queue: false 
     }); 
    }); 
}); 
// --> 
</script> 

我的问题是,我想推迟执行(不只是增加执行所花费的秒数,而是延迟启动时间)。我知道我可以使用setTimeout来做到这一点,我已经google搜索了这个网站,看看我是否可以通过使用setTimeout查看其他代码来找出如何将setTimeout添加到上面的代码。但是,尽管我尝试了最好的尝试和错误,但我没有正确实施它。我希望你能好好告诉我如何实现它。

+0

简单地增加持续时间:3000,它使这个动画持续时间为3秒。 – Arunkumar

+1

@ v.ArunKumar:“(不只是增加执行时间的秒数,而是延迟启动的时间)” –

+0

持续时间:3000意味着动画发生3秒。它不是一个延迟开始动画 – Arunkumar

回答

4

尝试此代码

<script type="text/javascript"> 

var scroll = 0; 
var marginTop = 0; 
$(document).ready(function() { 
    $(window).scroll(function() { 
     marginTop = ($(document).scrollTop() - scroll) + marginTop; 
     scroll = $(document).scrollTop(); 
     window.setTimeout(scrollDiv, 2000);   
    }); 
    function scrollDiv() 
    { 
     $("#scrollregister").animate({ 
      "marginTop": marginTop + "px" 
     }, { 
      duration: 1000, 
      queue: false 
     }); 
    } 
}); 
</script> 
+0

谢谢,哈尔沙,那美妙的作品!获得这样的帮助有多棒。非常感谢! –

+0

@EvaG。 : 很高兴有帮助 :-) –

0

延迟3秒就4秒执行持续时间。

<script type="text/javascript"> 
<!-- // sick 
var scroll = 0; 
var marginTop = 0; 
$(document).ready(function() { 
$(window).scroll(function() { 
setTimeout(function(){ 
     marginTop = ($(document).scrollTop() - scroll) + marginTop; 
     scroll = $(document).scrollTop(); 
     $("#scrollregister").animate({ 
      "marginTop": marginTop + "px" 
     }, { 
      duration: 4000, 
      queue: false 
     }); 
    },3000); 
})} 
); 
// --> 
</script> 
相关问题