滚动行为使我感到困惑

时间:2011-09-07 16:09:50

标签: jquery scroll

我有一些溢出隐藏的div。里面有li元素,我尝试将div滚动到6个元素的滚动顶部(带按钮)。

http://jsbin.com/ejobuw/6

但滚动行为令我感到困惑。 onclick它滚动到元素的中间,在下一次单击到实际位置,它不滚动到最后。 请有人帮帮我。

抱歉我的学校英语:)

1 个答案:

答案 0 :(得分:0)

我认为问题在于你正在使用offset()来检索元素相对于页面的当前位置 - 但是由于你移动这些元素,偏移量会发生变化。

试试这个解决方案:

$(document).ready(function() {
    var i = 0;
    var offset = $("a").eq(6).offset().top;

    var scrollList = function() {
        $('#thumb_keeper').animate({
            scrollTop: offset * i
        }, 500);
    };

    $('.scroll_down').click(function () {
        i++;
        scrollList();
    });

    $('.scroll_up').click(function () {
        i--;
        scrollList();
    });    
});    

您需要进行一些其他更改以检查是否可以向下滚动,否则i不得递增。向上滚动也是如此。