如何使用scrollTo始终滚动到列表中的最后一个元素?

时间:2014-03-19 19:23:00

标签: jquery

所以我有这样的事情:http://jsfiddle.net/Btf77/2/

我尝试了scrollTo的不适用的变体。

如果您要两次运行该代码段 - 请注意,如果您在第一次执行该代码段后调用scrollTo代码段,则第二次scrollTo调用将使ul向上滚动!而不是像我们希望的那样向下。

为了证明这一点,请继续点击小提琴中的滚动按钮。

关于如何始终滚动到最后一个元素的任何输入都会很棒。

1 个答案:

答案 0 :(得分:0)

这是因为最高值会更改https://api.jquery.com/position/

对于此特定示例,您可以缓存顶部值

$(document).ready(function(){
    var container = $("#todo_container");
    var top = container.find("ul.todos li:last-child:visible").position().top;

    $("#potato").click(function(){
        console.log(top);
        container.find(".todos").animate({
            scrollTop: top
        },700);  
    });

});

http://jsfiddle.net/Btf77/3/