jQuery scrollTop动画不像预期的那样工作

时间:2013-10-28 07:39:20

标签: jquery jquery-animate jquery-scrollable

我正在使用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)

})

Live Demo

先谢谢。

1 个答案:

答案 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);

});