jQuery重复自动滚动从上到下,从下到上用x时间

时间:2017-09-22 04:31:07

标签: javascript jquery

我继续将此question用于Autoscroll到页面底部,然后在顶部重复。

这是JS Fiddle

正如你在小提琴上看到的那样,当页面加载时,它会直接滚动到底部。 我想在页面加载时,等待大约10秒然后将其滚动到底部。如果在页面底部滚动,则相同,等待大约10秒,然后将其滚动到顶部。

代码:

$("html, body").animate({ scrollTop: $(document).height() }, 4000);
setTimeout(function() {
$('html, body').animate({scrollTop:0}, 4000); 
},4000);
setInterval(function(){
 // 4000 - it will take 4 secound in total from the top of the page to the bottom
$("html, body").animate({ scrollTop: $(document).height() }, 4000);
setTimeout(function() {
$('html, body').animate({scrollTop:0}, 4000); 
},4000);

},8000);

3 个答案:

答案 0 :(得分:1)

考虑到滚动动画所需的时间,您只需一个间隔即可完成...

$("html, body").animate({ scrollTop: $(document).height() }, 4000);

setInterval(function(){
    $("html, body").animate({ scrollTop: ($(window).scrollTop()==0 ? $(document).height() : 0) }, 4000);
},14000);

如果用户手动将滚动更改为中间位置,则不会提及会发生什么。使用此解决方案,在当前10秒间隔后,滚动将返回顶部并重新开始。

我希望它有所帮助...

答案 1 :(得分:1)

有点奇怪。你可能想要这个

$(function() {
    down();
    function up() {
        setTimeout(function() {
            scroll(0, down);
        }, 10000);
    }
    function down() {
        setTimeout(function() {
            scroll($(document).height(), up);
        }, 10000)
    }    
    function scroll(pos, callback) {
        $('html, body').animate({
                scrollTop: pos
         }, 4000, callback);
    }
})

http://jsfiddle.net/tamvo/wzr50zm8/

答案 2 :(得分:1)

请将您的js代码替换为下面提到的代码,它应该符合您的目的

provisioner "hyperv-winrm" {
  vm_name      = "test"

  connection {
    type     = "winrm"
    user     = "Administrator"
    password = "${var.admin_password}"
    host     = "<<IP/DNS GOES HERE>>"
  }
}

小提琴链接:http://jsfiddle.net/jdb8rw0L/