我有一个网页应用程序,其内容类似于Facebook墙。当您单击按钮时,它会在当前内容的末尾添加更多内容,然后应滚动到该内容。但是目前如果我向下滚动任何数量,当我添加内容时,页面会突然向下滚动一个看似随机的数量,而我还没有添加滚动代码。为什么页面会自动滚动?我怎么让它停下来?
答案 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滚动页面的第三方库,则此解决方案可能无效。