2013-06-19 85 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> 
相關問題