我正在使用scrollTo事件,将“ul”元素中添加的元素作为最后一个元素。
问题是,它正确地处理了20个元素,之后滚动“反向”,甚至没有正确地聚焦最终添加的元素。
任何人都帮我解决这个问题..?
这是smapel代码:
var text = 0;
$('button').on("click", function () {
text +=1;
var list = $("<li />", { text : "list : " + text});
$("ul").append(list);
$("#container").stop().clearQueue().finish().animate({
scrollTop : $(list).offset().top
}, 2000)
})
先谢谢。
答案 0 :(得分:2)
诀窍是通过以下方式为#container
scrollTop
属性制作动画:
scrollHeight-height
:
<强> LIVE DEMO 强>
var text = 0,
$cont = $('#container'),
contH = $cont.outerHeight();
$('button').on("click", function () {
var $li = $("<li />", { text: "list : "+ (++text)});
$("ul").append($li);
var contSH = $cont[0].scrollHeight;
$cont.stop().animate({
scrollTop : contSH - contH
}, 400);
});