Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery排除区段滚动的多个滚动事件_Javascript_Jquery_Scroll - Fatal编程技术网

Javascript 如何使用jQuery排除区段滚动的多个滚动事件

Javascript 如何使用jQuery排除区段滚动的多个滚动事件,javascript,jquery,scroll,Javascript,Jquery,Scroll,我面临的问题是,即使我滚动一次,它也会自动滚动多次 这是我的 所以,我想要的是,当我滚动一次时,只能滚动一个部分。当我向下滚动1次时,应该会看到下一部分。类似地,当我向上滚动1次时,应该可以看到前面的部分 我试图从类似的问题中得到帮助,但没有得到帮助。提前谢谢你的帮助 $(函数(){ var lastScrollTop=0,计时器; $(窗口)。滚动(功能(事件){ 清除超时(计时器); var windowH,scrollTop,currentSec=0,scrollRatio,secOff

我面临的问题是,即使我滚动一次,它也会自动滚动多次

这是我的

所以,我想要的是,当我滚动一次时,只能滚动一个部分。当我向下滚动1次时,应该会看到下一部分。类似地,当我向上滚动1次时,应该可以看到前面的部分

我试图从类似的问题中得到帮助,但没有得到帮助。提前谢谢你的帮助

$(函数(){
var lastScrollTop=0,计时器;
$(窗口)。滚动(功能(事件){
清除超时(计时器);
var windowH,scrollTop,currentSec=0,scrollRatio,secOffset,secOffsetTop;
scrollTop=$(this.scrollTop();
windowH=$(window.outerHeight();
如果(scrollTop==0){
currentSec=1;
}否则{
scrollRatio=scrollTop/windowH;
scrollRatio=数学四舍五入(scrollRatio);
currentSec=滚动比率+1;
}
secOffset=$(“#秒-”+currentSec).offset();
secOffsetTop=secOffset.top;
console.log(“currentSec:+currentSec”);
//堆栈溢出码
计时器=设置超时(函数(){
如果(scrollTop>lastScrollTop){
//向下滚动代码
console.log(“向下!”);
//$(“#秒-”+currentSec).next(“section”).animate({scrollTop:0},500);
var targetOffset=$(“#秒-”+currentSec).next(“section”).offset();
$('html,body').animate({scrollTop:targetOffset.top},1250);
}否则{
//upscroll码
console.log(“向下向上!”);
//$(“#秒-”+currentSec).prev(“节”).animate({scrollTop:0},500);
var targetOffset=$(“#秒-”+currentSec).prev(“section”).offset();
$('html,body').animate({scrollTop:targetOffset.top});
}
lastScrollTop=scrollTop;
//堆栈溢出代码结束
}, 1250);
});
});
*{
框大小:边框框;
}
身体{
保证金:0;
}
部分{
高度:100vh;
颜色:#fff;
字体大小:60px;
填充:15px;
}
#第1节{
背景色:#0ebeff;
}
#第2节{
背景色:#47cf73;
}
#第3节{
背景色:#fcd000;
}
#第4节{
背景色:#b9f;
}
#第5节{
背景色:#ff3c41;
}

第一节
第二节
第三节
第四节
第5节