Javascript 垂直对齐至聊天页面底部并滚动页面

Javascript 垂直对齐至聊天页面底部并滚动页面,javascript,html,css,ajax,Javascript,Html,Css,Ajax,我正在用AJAX和PHP创建一个聊天应用程序。我已经成功地将聊天记录对齐到显示聊天记录的div底部。当新消息被加载时,消息被成功地添加到div的底部,使用JS我将滚动条移到底部以显示新消息。如下图所示: if(document.getElementById("oldmessages").scrollTopMax) { if(document.getElementById("oldmessages").scrollTopMax &

我正在用AJAX和PHP创建一个聊天应用程序。我已经成功地将聊天记录对齐到显示聊天记录的div底部。当新消息被加载时,消息被成功地添加到div的底部,使用JS我将滚动条移到底部以显示新消息。如下图所示:

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
启动时的
位置。
如果
滚动条
位置
不在
底部
,则将该位置设置在
旧位置
。第一次可以在
底部设置
滚动
位置