我有一个非常奇怪的错误。我试图限制 jquery 鼠标滚轮函数中滚动调用的数量。我设置了一个计时器来限制调用,但它似乎没有调用函数scrollLeft。但是,如果它没有包含在任何计时器中,它就可以工作。这是某种原生 JS 错误吗?或者有没有人找到解决方法?
$(document).ready(function() {
var scrpos=0;
var limitTimer;
var did= true;
$('html, body, *').bind('mousewheel', function(event,delta){
var BODY= this;
if (did){
did =false;
if (delta > 0) {
if (scrpos >= $(document).width() - $(window).width()){
}else{
scrpos += 100;
}
} else {
if (scrpos !== 0){
scrpos -= 100;
}
}
BODY.scrollLeft = scrpos;
console.log(scrpos);
var limitTimer = setTimeout(function(){
did=true;
clearTimeout(limitTimer);
}, 150);
}
//Works here when outside the call
//BODY.scrollLeft = scrpos;
});
});