在计时器中设置scrollLeft不起作用

时间:2013-07-29 17:30:44

标签: javascript jquery

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



    });
 });

0 个答案:

没有答案