0

我有一个非常奇怪的错误。我试图限制 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;



    });
 });
4

0 回答 0