为了账号安全,请及时绑定邮箱和手机立即绑定

关闭计时器的问题

关闭计时器的问题

慕容708150 2019-03-05 16:27:28
$(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    })})请问为什么计时器这样关不掉啊。求指点。。
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

我早你那个上面修改了一下,你替换你那部分试试,看能不能达到效果,代码上有注释:


$(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

    })

})


查看完整回答
反对 回复 2019-03-09
  • 1 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信