粘滞/快速滚动不会向上滚动

时间:2016-01-11 05:06:05

标签: javascript jquery

我有一个脚本,当你向下移动时允许快速滚动,但是我不能让它允许用户向上滚动。

var items = $(".item");
var animating = false;

$(window).scroll(function() {
    clearTimeout($.data(this, 'scrollTimer'));
    if (!animating) {
        $.data(this, 'scrollTimer', setTimeout(function() {
            items.each(function(key, value) {
                if ($(value).offset().top > $(window).scrollTop()) {
                    animating = true;
                    $('body').animate( { scrollTop: $(value).offset().top + 'px' }, 1000);
                    setTimeout(function() { animating = false; }, 500);
                    return false;
                }
            });
        }, 50));
    }
});

http://jsfiddle.net/kZY9R/77/

1 个答案:

答案 0 :(得分:1)

你必须做

var body = $("html, body");

$(body).stop().animate( { scrollTop: $(value).offset().top)}, 1000,'swing');

Chrome 阅读body并滚动, Firefox 需要html才能执行此操作

Check Working Fiddle