垂直对齐聊天页面和页面滚动的底部

时间:2014-01-30 13:29:24

标签: javascript html css ajax

我正在使用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请求加载的,这会不断地轮询服务器,那时每次滚动条到底时都会触发此代码。即使用户可能正在检查上一条消息之上的消息,它仍然表现得像这样,因为我不确定如何纠正这一点。有没有办法帮助解决这个问题,当用户检查上一条消息上方的消息时,滚动条是否滚动到底部?

请捐款。

1 个答案:

答案 0 :(得分:0)

您可以使用element.scrollTopposition点火时获取scroll的{​​{1}}。 如果ajax的{​​{1}}不在position,则设置scroll bar的位置。您第一次可以在bottom设置old position position