我创建了这个代码,当用户尝试滚动时,该代码应该将页面移动整个部分。
$(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部分。为了避免这种情况,我试图在动画开始之前禁用事件,并在完成时再次启用它,但这没有帮助。
答案 0 :(得分:0)
如果我理解正确你想要的是一种对齐行为。有许多jQuery插件已经可以使用,例如: