首页 > 解决方案 > 在图像加载时保持滚动位置

问题描述

我有一个包含聊天消息列表的页面 - 一些文本,一些图像。

当页面加载时,它会滚动到底部(最新消息所在的位置)

$(cardBody).scrollTop($(cardBody)[0].scrollHeight);

如果任何消息是图像,则加载并且屏幕变大但用户保持相同的滚动高度,并且消息从屏幕底部消失

我可以通过在调用scrollTop之前等待页面完全加载来解决这个问题,但是如果动态添加一条消息,我目前不知道滚动到底部,然后“重新滚动”到底部的方法任何图像已加载。有没有办法做到这一点?

标签: jquery

解决方案


您可以绑定DOMSubtreeModified事件以在消息更新时触发。

$(cardBody).bind("DOMSubtreeModified",function(){
   $(this).scrollTop($(this)[0].scrollHeight);
});

推荐阅读