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

if做判断执行到第三次就不执行了?

if做判断执行到第三次就不执行了?

$(function(){     var timer = setInterval(function(){run()},400);     var onOff = true;     $('button').click(function(){         if(onOff){             clearInterval(timer);             $(this).html('开始');             onOff = false;             //console.log(onOff)         }else{             setInterval(function(){run()},400);             $(this).html('停止');             onOff = true;             //console.log(onOff)         }     });     function run(){console.log(Math.random())} })<button>停止</button>想要做个点击按钮停止输出随机数,再按按钮开始输出随机数,再按停止,再按开始……的功能。可是按了第三次就无效了。
查看完整描述

2 回答

已采纳
?
蜂之谷

TA贡献564条经验 获得超863个赞

第十三行加上这个就好了

timer = setInterval(function(){run()},400);

查看完整回答
1 反对 回复 2017-01-12
  • 李下之忌心中郁
    李下之忌心中郁
    没用啊
  • 蜂之谷
    蜂之谷
    不会吧,刚试了写,我这可以啊
  • 李下之忌心中郁
    李下之忌心中郁
    $(function(){ var timer = setInterval(function(){run()},400); var onOff = true; $('button').click(function(){ if(onOff){ clearInterval(timer); $(this).html('开始'); onOff = false; //console.log(onOff) }else{ timer = setInterval(function(){run()},400); setInterval(function(){run()},400); $(this).html('停止'); onOff = true; //console.log(onOff) } }); function run(){console.log(Math.random())} })
点击展开后面1
?
破晓Daybreak

TA贡献5条经验 获得超4个赞

$('button').click(function(){
        if(onOff){
            clearInterval(timer);
            $(this).html('开始');
            onOff = false;
            //console.log(onOff)
        }else{
            timer = setInterval(function(){run()},400);
            $(this).html('停止');
            onOff = true;
            //console.log(onOff)
        }
    });

你进入else的时候重新开始设置定时器的时候没有命名,要加个命名,再次点击的时候才可以清除timer这个定时器,不然else里面设置的定时器无法清除,一直执行。

查看完整回答
1 反对 回复 2017-01-12
  • 2 回答
  • 1 关注
  • 1922 浏览
慕课专栏
更多

添加回答

举报

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