在javascript div中自动滚动

时间:2016-06-23 07:06:07

标签: javascript html

当我在javascript div中使用上述功能在聊天框中自动滚动时 但我无法向上滚动。

cdef

聊天记录是我的代码中的一个div,我已经将上面的函数用于滚动回复。现在我无法向上滚动。

2 个答案:

答案 0 :(得分:2)

这是合乎逻辑的错误。在您的代码中,每10毫秒,您的脚本将div滚动到底部。如何实现自动滚动行为有很多变种。其中一个使用flag,它将由checkBox(autoscroll)设置。如果选中了checkBox,如果取消选择脚本将不执行任何操作,脚本将向下滚动。

类似的东西:

window.setInterval(function() {
 if (needAutoScroll) {
     var elem = document.getElementById('chatlog');
     elem.scrollTop = elem.scrollHeight;
 }
}, 10);

答案 1 :(得分:0)

我的猜测是,因为它每秒向下滚动到div的底部,所以你无法向上滚动。因此,在向上滚动时,您必须清除setInterval功能。

您可以在chatlog div。

中尝试此操作

<div id="chatlog" onscroll="myStopFunction()">

function myStopFunction() {

if document.body.scrollTop <= 0 {
 console.log("scrolling down")
} else {
console.log("scrolling up");
 clearInterval(myVar);
}

}

再次向下滚动,您可以触发setInterval功能。