当用户尝试滚动

时间:2015-08-29 19:18:24

标签: jquery

我创建了这个代码,当用户尝试滚动时,该代码应该将页面移动整个部分。

$(window).on("scroll", function fff(event) {
    var section;
    $('.section_class').each(function () {
        if ($(window).scrollTop() > ($(this).offset()['top'])) {
            section = $(this).next();
        }
    });
    $(window).off("scroll");
    $(window).scrollTo(section, {
        duration: 1000,
        done: function () {
            $(window).on("scroll", fff(event));
        }
    });

它应该像这样工作:在滚动时,每个循环触发并检查用户当前看到的部分。然后页面应滚动到下一页(使用jquery scrollTo插件)。然而,这只能工作一次,然后就会阻止它自己。

我怀疑当scrollTo动画开始时,另一个滚动事件会触发并尝试滚动到CURRENT部分。为了避免这种情况,我试图在动画开始之前禁用事件,并在完成时再次启用它,但这没有帮助。

1 个答案:

答案 0 :(得分:0)

如果我理解正确你想要的是一种对齐行为。有许多jQuery插件已经可以使用,例如: