开发者

How can I replace the contents of a scrollable div without jumping to the top?

开发者 https://www.devze.com 2022-12-28 00:08 出处:网络
I have a div with the overflow: auto style.It is populated vi开发者_如何学Goa AJAX with a result table.The rows in this div are editable, and with each edit I refresh the contents.The problem is, if t

I have a div with the overflow: auto style. It is populated vi开发者_如何学Goa AJAX with a result table. The rows in this div are editable, and with each edit I refresh the contents. The problem is, if the user edits something at the bottom of the div, the refresh brings them back to the top.

I had some luck using anchors with Firefox, but not all versions of IE jumped to the anchors within the div.

Is there any way to replace the contents of a div like this without having the scrollbar jump to the top? Any other suggestions? I like to refresh the entire set of results rather than just the updated row if possible, but if there are no workarounds I guess I will pursue that instead.


Before you change the data, store the scrollTop-property and after that, restore it.

Like so:

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

精彩评论

暂无评论...
验证码 换一张
取 消