我正在使用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请求加载的,这会不断地轮询服务器,那时每次滚动条到底时都会触发此代码。即使用户可能正在检查上一条消息之上的消息,它仍然表现得像这样,因为我不确定如何纠正这一点。有没有办法帮助解决这个问题,当用户检查上一条消息上方的消息时,滚动条是否滚动到底部?
请捐款。
答案 0 :(得分:0)
您可以使用element.scrollTop
在position
点火时获取scroll
的{{1}}。
如果ajax
的{{1}}不在position
,则设置scroll bar
的位置。您第一次可以在bottom
设置old position
position
。