在我的Javascript中我添加setTimeout以使其工作?

时间:2013-06-19 11:44:39

标签: javascript settimeout

我是一个新手,已经实现了我在其他地方使用的这一点Javascript,它工作得很漂亮,让我的div滚动页面:

<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添加到上面的代码中。但是,尽管我有最好的试验和错误,但我未能正确实施。我希望你能告诉我如何实施它。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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>