关闭计时器的问题

$(document).ready(function(){

   

    var val = 0;

    var timer;

    function move(){

        $('.wrap_div div').css({opacity:0,zIndex:0});

        $('.list li').removeClass('white');


        val++;

        if(val == 3){

            $('.list li').eq(0).addClass('white');  

        }else if(val > 3){

              val = 1;

        }

        $('.list li').eq(val).addClass('white'); 

           

        $('.wrap_div div').eq(val).css({opacity:1,zIndex:1});


        // $('.wrap_div').css({left : val*500*-1});


        timer = setTimeout(move,6000)

    }

    setTimeout(move,3000);

    $('.right').click(function(){

        clearTimeout(timer);

        move();

        return

    })

})

请问为什么计时器这样关不掉啊。求指点。。


慕容708150
浏览 384回答 1
1回答

Cats萌萌

我早你那个上面修改了一下,你替换你那部分试试,看能不能达到效果,代码上有注释:$(document).ready(function(){       var val = 0;    var timer;    function move(){        $('.wrap_div div').css({opacity:0,zIndex:0});        $('.list li').removeClass('white');        val++;        if(val == 3){            $('.list li').eq(0).addClass('white');          }else if(val > 3){              val = 1;        }        $('.list li').eq(val).addClass('white');                    $('.wrap_div div').eq(val).css({opacity:1,zIndex:1});        // $('.wrap_div').css({left : val*500*-1});        clearTimeout(timer); //不管前面有没有定时器,先清除一下        timer = setTimeout(move,6000);    }    timer = setTimeout(move,3000); //这里也需要把定时器存起来    $('.right').click(function(){        clearTimeout(timer);        move(); //这里我有些不理解,你都清掉了定时器,怎么又执行move函数,函数里面又有一个定时器,这样你整个程序的定时器会一直存在        return    })})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript