0
我正在嘗試創建一個網站,該網站在單個滾動操作時自動滾動到每個部分。這意味着代碼必須檢查頁面是向上滾動還是向下滾動。我相信下面的代碼解決了我的問題,但滾動操作在頁面滾動時被觸發不止一次。您會看到if語句中的第一個警報達到5,而不是期望的1.任何有關此事的幫助都將非常感謝。滾動功能多次觸發而不是一次
[注]我正在使用velocity.js庫滾動到容器中的每個部分。
var page = $("#content-container");
var home = $("#home-layer-bottom");
var musicians = $("#musicians");
var athletes = $("#athletes");
var politics = $("#politics");
var bio = $("#politics");
var pages = [ home,musicians,athletes,politics,bio ];
var pageCur = 0;
var lastScrollTop = 0;
page.scroll(function(){
var st = $(this).scrollTop();
var pageNex = pageCur + 1;
if (st > lastScrollTop){
alert(pageNex);
pages[pageNex].velocity("scroll", { container: $("#content-container") });
} else {
alert(pageCur-1);
pages[pageCur-1].velocity("scroll", { container: $("#content-container") });
}
lastScrollTop = st;
pageCur = pageNex;
});
完美地工作。剛剛添加了一個setTimeout,它在滾動500毫秒後運行,以使滾動= false。 –