我在这里有一小段代码,用于检测用户何时停止滚动。当它触发时,页面将切换到下一页。它似乎工作一次,但是当我尝试在下一页再次使用它时,它会断开并且不再触发。我发现计时器似乎在你使用它之后就停止了。我没有设法找到任何相关的在线,所以任何帮助将不胜感激。感谢。
JQuery:
var scroll = $(window).scroll(function(){
currentPos = $(window).scrollTop();
if(currentPos == 0){
nextPage();
}
})
window.setInterval(function(){
scroll();
}, 500);
用于切换页面的代码:
function nextPage(){
if(document.getElementById("homePage").style.top == "0px"){
count = 0;
}
document.getElementById(pages[count]).style.top = "-1100px";
count += 1;
closeMenu();
}
答案 0 :(得分:2)
至少存在一些问题:
它是 (您已将问题修改为使用setInterval
或window.setInterval
,而不是document.setInterval
window.setInterval
。)
您的scroll
变量未引用某个函数,因此您无法调用它(例如,scroll()
是错误的)。它是一个jQuery实例,而不是一个函数,因为它是$(window).scroll(function() { ... })
的返回值,它设置一个事件处理程序并返回一个包裹window
的jQuery对象。
如果scroll
是一个函数,如果它的目的是设置一个事件处理程序,那么重复调用它是没有意义的。你只希望这样做一次,否则你会有重复的事件处理程序互相干扰。