2017-04-16 24 views
1

我有一個使用AJAX實時刷新聊天部分的網站。我正在致力於在用戶發送消息時使聊天滾動到底部,但如果來自其他人的消息正在加載,則保持滾動狀態。順便說一下,這一切都有效。無論如何,無論何時來自AJAX請求的新數據替換當前數據,它都會滾動到div的頂部。我通過獲得div的scrollTop屬性來解決這個問題,只要用戶滾動並將div的scrollTop設置爲我在AJAX數據進來時保存的前一個scrollTop。當我這樣做時,jquery事件只會執行並在I'我停止滾動,如果在數據刷新時仍然滾動,會導致滾動位置跳轉。有誰知道我如何獲得scrollTop值,即使用戶仍在滾動過程中?如何在用戶仍在滾動時獲取scrollTop屬性

感謝提前:)

+0

是否有可能不替換您的div的完整內容,而只是添加新的消息?這樣,滾動應該由瀏覽器透明地處理。 – Pharaoh

+0

更好..使用虛擬重複。 –

+0

@Pharaoh我將在後面的工作,但現在我想要一個快速的解決方案,所以我可以停止擔心聊天一點,並獲得更重要的網站部分。 – Wiooo

回答

1

確定滾動頂部位置裏面:

$(window).scroll(function(){ 

    }) 

每次,你移動滾動條執行此功能,如果它是默認窗口(以其它方式使用相應的元素)。

+0

我已經這麼做了。我需要的是在滾動操作期間獲取用戶的滾動位置,而不是在滾動的開始位置。不要試圖粗魯,但在我的問題中已多次提到,所以請在回答前仔細閱讀。 – Wiooo

相關問題