Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动从上到下滚动页面,然后备份(并重复)_Javascript_Jquery_Scroll - Fatal编程技术网

Javascript 自动从上到下滚动页面,然后备份(并重复)

Javascript 自动从上到下滚动页面,然后备份(并重复),javascript,jquery,scroll,Javascript,Jquery,Scroll,我正在试图弄清楚如何在页面加载时自动滚动到页面底部(已经详细描述),然后在到达页面底部时自动向上滚动。我可以找到自动滚动到底部的功能,但我不知道如何识别我何时处于页面底部,以及如何在我处于底部时向上滚动。我会使用通用Javascript(或JQuery)来实现这一点 提前谢谢 您可以将函数作为参数传递,当到达末尾时将调用该参数。我刚刚为此编写了一个jQuery插件小提琴: $("body").animate({ scrollTop: '1000' }, 500, function(){

我正在试图弄清楚如何在页面加载时自动滚动到页面底部(已经详细描述),然后在到达页面底部时自动向上滚动。我可以找到自动滚动到底部的功能,但我不知道如何识别我何时处于页面底部,以及如何在我处于底部时向上滚动。我会使用通用Javascript(或JQuery)来实现这一点


提前谢谢

您可以将函数作为参数传递,当到达末尾时将调用该参数。我刚刚为此编写了一个jQuery插件小提琴:

$("body").animate({ scrollTop: '1000' }, 500, function(){
    $("body").animate({ scrollTop: '0' }, 500, function(){
        $("body").animate({ scrollTop: '1000' }, 500);
    });
});
试试这个:

您可以在此处全屏查看演示:

如果要提高或降低速度,请更改数字“1000”

在Chrome、Firefox和IE 6-9中运行良好

编辑:


如果您需要它永远重复(不推荐…),您可以这样做:

下面是使用纯JavaScript的示例


var Height=document.documentElement.scrollHeight;
var currentHeight=0;
var bool=真;
var阶跃=5;
无功转速=10;
var间隔=设置间隔(滚动页面,速度)
函数scrollpage(){
如果(当前高度<0 | |当前高度>高度)
bool=!bool;
如果(bool){
滚动到(0,当前高度+=步长);
}否则{
//如果你不想继续滚动
//clearInterval(interval)使用clearInterval
滚动到(0,当前高度-=步长);
}
}

#顶{
边框:1px纯黑;
高度:10000px;
}
#底部{
边框:1px纯红;
}
顶部

底部
请注意,建议的无限滚动JSFIDLE代码可以在firefox中使用,但是如果没有有效的


不过我需要重复一遍。这对于一次迭代非常有效,但是我如何才能让它永远这样做呢?在这种情况下,你可以这样做:尽管我建议不要这样做,因为它可能会使一些用户的浏览器崩溃。啊,谢谢!这在JSFIDLE上非常有效,但不会加载到浏览器上。嗯,我会玩玩它,但至少代码在理论上是有效的!我在asp.net中使用了您的代码和定时器控件,后者在例程中调用该函数。所以它会无限地上下摆动。有可能在屏幕的任何地方点击一下取消自动滚动吗?很有用。谢谢我正在寻找一个不使用jquery的代码。并找到了这个…感谢添加Javascript解决方案
(function($){
    $.fn.downAndUp = function(time, repeat){
        var elem = this;
        (function dap(){
            elem.animate({scrollTop:elem.outerHeight()}, time, function(){
                elem.animate({scrollTop:0}, time, function(){
                    if(--repeat) dap();
                });
            });
        })();
    }
})(jQuery);
$("html").downAndUp(2000, 5)
$('html, body').animate({ scrollTop: $(document).height() - $(window).height() }, 1000, function() {
    $(this).animate({ scrollTop: 0 }, 1000);
});