使用jquery在$(window).scroll上执行scrollTop动画

时间:2015-07-21 07:30:46

标签: javascript jquery

每次我在页面中滚动时,我都会尝试移动幻灯片。但滚动事件不会停止并重复该事件。如何使用每次$(window).scroll内的scrollTop将动画移动到下一个幻灯片颜色?查看我的Fiddle

这是一段不起作用的代码:(

$('html, body').animate({
    scrollTop: ($(next).offset().top)
},500);

我的目标是http://www.sincedilla.com/

1 个答案:

答案 0 :(得分:1)

这可能就是你所需要的。 滚动事件必须在动画结束前被阻止, 动画文档Helpful question in Stackoverflow读取回调部分

$(this).bind('mousewheel', function (e) {
    if (!animating) {
        animating = true;
        if (e.originalEvent.wheelDelta < 0) {
            next = $(first).next();
            first = $(next);
            // scroll down
            $("html, body").animate({
                scrollTop: ($(next).offset().top)
            }, 900, function(){
                animating = false;
            });
        } else {
            first = $(next).prev();
            next = $(first);
            // scroll up
            $("html, body").animate({
                scrollTop: ($(first).offset().top)
            }, 900,function(){
                animating = false;
            });
        }
    }
    return false;
});

工作小提琴http://api.jquery.com/animate/