为什么在我在给定数据中添加数据时滚动位置会发生变化。我滚动到顶部它前置数据但滚动位置到顶部。但我在Facebook和whatsapp中看到了很多例子,当它加载以前的数据时,滚动位置保持不变。
我们可以保留滚动位置吗? http://jsfiddle.net/cQ75J/17/
if ($(this).scrollTop() === 0 && pages.length) {
console.log("up");
$("#next").html('')
$("#pre").html('')
$("#next").html($("#current").html());
$("#current").html('');
$("#current").html(pages.pop())
.prependTo($("#fullContainer"));
}
答案 0 :(得分:0)
这必须在Javascript中完成:
执行此操作的一种方法是使用与您前置的相同高度和宽度的隐藏div,并在向其添加内容时测量它的scrollHeight。然后,在您添加文本之后,只需将内容div的scrollTop设置为隐藏div的scrollHeight:
$(document).ready(function(){
setTimeout(function(){
$("div#hiddenDiv").html("Testing<br><br><br>");
var coffset = document.getElementById("hiddenDiv").scrollHeight;
$("div#content").prepend($("div#hiddenDiv").html());
document.getElementById("content").scrollTop += coffset;
}, 5000);
});
在下面的小提琴中,几秒后文本将被添加到div,但滚动 职位不会改变。