JavaScript - 滚动到Div的底部 - 继续向下滚动而不停止

时间:2017-09-05 14:45:07

标签: javascript scroll

所以我有这个功能向下滚动到页面底部,并滚动到可滚动div #log的底部:

function gotoConsole() {
    var console = document.getElementById('log');

    window.scrollTo(0,document.body.scrollHeight);
    window.setInterval(function() {
        console.scrollTop = console.scrollHeight;
    }, 250);
}

它完成工作,它向下滚动到页面并滚动到div的底部。但问题是; div继续向下,我无法向上滚动。

gotoConsole()功能仅在用户点击按钮后调用一次。

这个功能有什么问题?我不能使用jQuery。

1 个答案:

答案 0 :(得分:0)

我认为你可能会误解setIntervalsetInterval()将重复无限,除非您使用clearInterval明确清除它。

我相信你所追求的是setTimeout - 它的功能与setInterval非常相似,但不是重复,而是只运行一次

function gotoConsole() {
    var myConsole = document.getElementById('log');

    window.scrollTo(0,document.body.scrollHeight);
    window.setTimeout(function() {
        myConsole.scrollTop = myConsole.scrollHeight;
    }, 250);
}

旁注:

将变量设置为console是一个重要的红旗。

在编写/调试JavaScript时,你最好的朋友经常会这样 console.log()。当您将变量设置为相同的名称时,您将无法在不执行console的情况下引用该范围内的window.console.log(),这是一个麻烦的烦恼。