jquery - 在图像加载时保持滚动位置
问题描述
我有一个包含聊天消息列表的页面 - 一些文本,一些图像。
当页面加载时,它会滚动到底部(最新消息所在的位置)
$(cardBody).scrollTop($(cardBody)[0].scrollHeight);
如果任何消息是图像,则加载并且屏幕变大但用户保持相同的滚动高度,并且消息从屏幕底部消失
我可以通过在调用scrollTop之前等待页面完全加载来解决这个问题,但是如果动态添加一条消息,我目前不知道滚动到底部,然后“重新滚动”到底部的方法任何图像已加载。有没有办法做到这一点?
解决方案
您可以绑定DOMSubtreeModified
事件以在消息更新时触发。
$(cardBody).bind("DOMSubtreeModified",function(){
$(this).scrollTop($(this)[0].scrollHeight);
});