我創建了這個代碼,當用戶嘗試滾動時應該將頁面移動整個部分。當用戶試圖滾動時,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部分。爲了避免這種情況,我試圖在動畫開始之前禁用事件,並在完成時再次啓用它,但這沒有幫助。
感謝這些iinks。但它也讓我錯誤地認爲我的代碼被破壞了。 – user3667832
我認爲這個問題是由於fff函數的作用域。看到這裏的工作示例:https://jsbin.com/dikufaqoti/edit?html,css,js,output – MarcoReni