如何在添加内容时防止文档自动滚动?

时间:2013-06-19 17:22:39

标签: javascript jquery html css

我有一个网页应用程序,其内容类似于Facebook墙。当您单击按钮时,它会在当前内容的末尾添加更多内容,然后应滚动到该内容。但是目前如果我向下滚动任何数量,当我添加内容时,页面会突然向下滚动一个看似随机的数量,而我还没有添加滚动代码。为什么页面会自动滚动?我怎么让它停下来?

2 个答案:

答案 0 :(得分:0)

最简单的方法是在不考虑代码的情况下做到这一点,只会抵消你添加的内容。因此,使用一些js找出新内容将添加的高度,然后在添加它时,向下滚动该数量

答案 1 :(得分:0)

虽然我不确定为什么会这样,但我确实知道你应该能够使用CSS来避免在向页面添加内容时进行任何滚动。如果您在添加内容之前将body 溢出设置为隐藏,然后将其设置回可见,那么您应该是能够防止任何滚动发生。

如果您正在使用jQuery,请执行以下操作:

$(document.body).css('overflow','hidden');
// do your stuff here e.g.
for(var i=0;i<1000;i++) {
   $(document.body).append('<div>some content to append here</div>');
}
$(document.body).css('overflow','visible');

注意:如果它是附加内容并且他们使用JS滚动页面的第三方库,则此解决方案可能无效。