Функция прокрутки срабатывает несколько раз вместо одного
Я пытаюсь создать веб-сайт, который автоматически прокручивает каждый раздел при помощи одного действия прокрутки. Это означает, что код должен проверять, прокручивается ли страница вверх или вниз. Я полагаю, что приведенный ниже код решает мою проблему, но действие прокрутки запускается более одного раза во время прокрутки страницы. Вы увидите, что первое предупреждение в операторе if достигает 5 вместо желаемого 1. Любая помощь по этому вопросу будет принята с благодарностью.
[Примечание] Я использую библиотеку speed.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;
});