Javascript 垂直对齐至聊天页面底部并滚动页面
我正在用AJAX和PHP创建一个聊天应用程序。我已经成功地将聊天记录对齐到显示聊天记录的div底部。当新消息被加载时,消息被成功地添加到div的底部,使用JS我将滚动条移到底部以显示新消息。如下图所示:Javascript 垂直对齐至聊天页面底部并滚动页面,javascript,html,css,ajax,Javascript,Html,Css,Ajax,我正在用AJAX和PHP创建一个聊天应用程序。我已经成功地将聊天记录对齐到显示聊天记录的div底部。当新消息被加载时,消息被成功地添加到div的底部,使用JS我将滚动条移到底部以显示新消息。如下图所示: if(document.getElementById("oldmessages").scrollTopMax) { if(document.getElementById("oldmessages").scrollTopMax &
if(document.getElementById("oldmessages").scrollTopMax)
{
if(document.getElementById("oldmessages").scrollTopMax > document.getElementById("oldmessages").clientHeight)
{
document.getElementById("oldmessages").scrollTop = document.getElementById("oldmessages").scrollTopMax;
}
}
问题是,每次ajax请求加载新聊天时,它都会不断轮询服务器,此时会触发此代码,每次滚动条到达底部时都会触发此代码。即使用户可能正在检查上一条消息上面的消息,它的行为仍然是这样的,因为我不知道如何纠正这一点。有没有一种方法可以帮助解决这个问题,并且当用户检查最后一条消息上方的消息时,不让滚动条滚动到底
请捐款 您可以使用
元素。scrollTop
获取scroll
在ajax
启动时的位置。
如果滚动条
的位置
不在底部
,则将该位置设置在旧位置
。第一次可以在底部设置滚动
的位置