我是一个新手,已经实现了我在其他地方使用的这一点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添加到上面的代码中。但是,尽管我有最好的试验和错误,但我未能正确实施。我希望你能告诉我如何实施它。
答案 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>