Javascript自动滚动div内容,同时仍然可以手动滚动

时间:2016-12-31 19:09:20

标签: javascript html

window.setInterval(function() {
var elem = document.getElementById('pullout');
elem.scrollTop = elem.scrollHeight;
}, 0);

我目前正在使用此代码自动滚动到bottem。但每当我想手动滚动时,我就无法做到。因为这就是上面的代码如何工作。 有人可以帮我这个吗?

我希望上面的代码+能够手动滚动并禁用自动滚动。但是我该如何编码呢?​​

2 个答案:

答案 0 :(得分:0)

您可以设置间隔但不会停止。因此,无论何时尝试滚动,间隔都会将其设置回底部。假设你的间隔是0ms,你的代码比滚动时更快。要解决问题,您只需删除setInterval即可。也许你正试图实现平滑滚动;如果是这样的话,你错了,因为你的代码只是自动滚动到底部。 只需使用:

 function funcName(){
   var elem = document.getElementById('pullout');
   elem.scrollTop = elem.scrollHeight; 
  }

答案 1 :(得分:0)

我只会在添加新的聊天消息时滚动,而不是连续滚动。像这样:

function scrollToBottom() {
    var elem = document.getElementById('pullout');
    elem.scrollTop = elem.scrollHeight;
}

然后,找到添加新聊天消息的代码,并在添加消息后调用scrollToBottom()