我在div元素中有一个滚动条,最初它的位置是顶部。每当我向div元素添加一些文本时,滚动条就不会移动。有没有什么办法,使div元素的滚动条总是在底部,而每当我向div元素添加一些文本时,滚动条也会自动移到底部?
下面是我的div元素:
<div class='panel-Body scroll' id='messageBody'></div>
和CSS类
.scroll {
height: 450px;
overflow: scroll;
}
我需要的是,最初的滚动条的位置应该是底部。
同样,当我点击发送消息时,我会将消息添加到div元素“messageBody”中。此时滚动条应该再次向下。
这是我的滚动条
的当前样式
我希望它始终为
先谢了。
6条答案
按热度按时间aurhwmvo1#
6bc51xsx2#
如果我没理解错你想要什么的话,这样的东西应该能达到你的目的。
将
getElementById()
中的messageBody
替换为您的聊天消息容器ID。这将把消息容器滚动到底部。因为滚动位置是以像素而不是百分比记录的,所以默认情况下,当你向容器中添加更多元素时,滚动位置不会改变。
在聊天消息容器中添加新消息后执行此操作。
omjgkv6w3#
假设你的html代码是这样的。
然后把你的js像这样包起来
DEMO
atmip9wb4#
给你。跟着这个概念走。
ejk8hzay5#
那就是:
messageBody.lastChild.scrollIntoView();
//用于初始滚动到底部位置。p.s.:页面加载后,消息处理程序应该在消息更新时调用此命令。
jdzmm42g6#
现在已经是2023了,你现在可以简单地使用
Element.scrollIntoView()
了!检查MDN documentation。