一千萬個為什麽

搜索

如何在不跳到頂部的情況下替換可滾動div的內容?

我有一個帶有 overflow:auto 樣式的div。它通過AJAX填充結果表。此div中的行是可編輯的,每次編輯時我都會刷新內容。問題是,如果用戶在div的底部編輯了某些內容,則刷新會將它們帶回到頂部。

我有一些運氣使用Firefox的錨點,但並非所有版本的IE跳轉到div內的錨點。

有沒有辦法在沒有滾動條跳到頂部的情況下替換div這樣的內容?還有其他建議嗎?我喜歡刷新整個結果集,而不僅僅是更新的行,如果可能的話,但如果沒有解決方法,我想我會追求它。

最佳答案

在更改數據之前,請存儲scrollTop屬性,然後還原它。

像這樣:

var oldScrollTop = div.scrollTop;
div.innerHTML = "new content";
div.scrollTop = oldScrollTop;

轉載註明原文: 如何在不跳到頂部的情況下替換可滾動div的內容?