2014-01-30 174 views
1

我正在使用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

您可以使用element.scrollTop獲取positionscrollajax是火。 如果positionscroll bar未在bottom處比設置位置在old position。您第一次可以在bottom上設置positionscroll