如何在添加数据时自动滚动到div的结尾?

Dre*_*ith 87 html javascript css jquery

我有一个table的内部div具有以下样式:

#data {
    overflow-x:hidden;
    overflow-y:visible;
    height:500px;
}
Run Code Online (Sandbox Code Playgroud)

一旦将足够的数据添加到表中,这将显示垂直滚动条.但是,当添加新数据时,我希望div元素自动滚动到底部.

我可以使用哪些JavaScript代码?如果有必要,我愿意接受JQuery中的选项,但更喜欢JavaScript解决方案.

VNO*_*VNO 127

如果您不知道何时添加数据#data,您可以设置一个间隔,以便每隔几秒钟将元素的scrollTop更新为其scrollHeight.如果您正在控制何时添加数据,则只需在添加数据后调用以下函数的内部.

window.setInterval(function() {
  var elem = document.getElementById('data');
  elem.scrollTop = elem.scrollHeight;
}, 5000);
Run Code Online (Sandbox Code Playgroud)

  • 这样做,解决方案对我来说实际上更简单,因为我有一个函数将数据输入到表中,所以我可以将代码的第3行添加到函数中.谢谢! (6认同)
  • 它向下滚动90% (4认同)
  • 我认为这不是最佳答案.如果要向上滚动以检查数据会发生什么?每5秒.它会自动向下滚动,您无法在5秒内分析数据... (4认同)

Val*_*mas 43

var objDiv = document.getElementById("divExample");
objDiv.scrollTop = objDiv.scrollHeight;
Run Code Online (Sandbox Code Playgroud)

  • 你也可以试试这个:`function setFocusOnDivWithId(elementId) { const scrollIntoViewOptions = { behavior: "smooth", block: "center" }; document.getElementById(elementId).scrollIntoView(scrollIntoViewOptions); }; setFocusOnDivWithId(elementId);` (5认同)