Kullanıcı sayfayı yukarı veya aşağı kaydırdığında her bölüme otomatik olarak ilerleyen bir web sitesi oluşturmaya çalışıyorum. Bu sorunu haftalarca çözmeye çalışıyorum ve konuyla ilgili her türlü yardımı takdir ediyorum. Olay işleyicisinin, kaydırma işlevini tetikleyen bir kaydırma olayı olduğundan, bu işlemin birden fazla kaydırmanın gerçekleşmesine neden olacağına inanıyorum. Bu konuyu tartışan pek çok makale okudum ve çözüm setInterval veya setTimeout işlevini ekliyor gibi görünüyor, ama ben hem denedim hem de hala sonuç yok.Animasyonlu Sayfada Kaydırma Yukarı/Aşağı Olay
var page = $("#page_container");
var home = $("#home");
var musicians = $("#musicians");
var athletes = $("#athletes");
var politics = $("#politics");
var bio = $("#bio");
var pages = [home, musicians, athletes, politics, bio];
var scrolled = false;
var pageCur = 0;
var lastScrollTop = 0;
page.scroll(function() {
scrolled = true;
});
var scrollTimeout = setInterval(function() {
if (scrolled == true) {
pageScroll();
}
else {
clearTimeout(scrollTimeout);
}
}, 3000);
function pageScroll() {
if (scrolled == true) {
scrolled = false;
var st = page.scrollTop();
var pageNex = pageCur + 1;
if (st > lastScrollTop) {
alert(pageNex);
pages[pageNex].velocity("scroll", {container: $("#page_container")});
} else {
alert(pageCur - 1);
pages[pageCur - 1].velocity("scroll", {container: $("#page_container")});
}
lastScrollTop = st;
pageCur = pageNex;
alert("1");
clearTimeout(scrollTimeout);
}
}