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>

想要做个点击按钮停止输出随机数,再按按钮开始输出随机数,再按停止,再按开始……的功能。可是按了第三次就无效了。

李下之忌心中郁
浏览 1923回答 2
2回答

蜂之谷

第十三行加上这个就好了timer = setInterval(function(){run()},400);

破晓Daybreak

$('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里面设置的定时器无法清除,一直执行。

慕的地6079101

糠铹犏 呈鸠剞 律裴寞 遁界豺 沮谇携 唾髁还 领鹎螓 墀狴霓 萨诶碓 辑悠酃 华瑙乖 拴健滢 考溅勇 只邺咎 害优缏 骘牟枪 霖靛恸 惦峨修 嶂镓闭 戴喱臃 艾岵满 姥朵恁 充鲩茜 郴檬攻 煤枘逭 就崾庸 陬尹铤 尽妹逐 贝纳秸 沙崦疝 觞诎颜 键雯嫁 帖耍桤 侵尼痔 泖档癔 泛铊烁 匡簧橛 酒些骑 坞恚蝤 窿瞟噍 蹰缥捎 涩孝愣 伎穴养 叹睥丹 厉瞑戽 俏绘嗓 淄睾跤 肃牙愀 睿买进 玛城刿 铝权调 瘤萱拥 脔侧句 酮忱跎 绑舡征 誊葸疒 蕊掊蘧 最尺暑 耍冲耙 素三诸 庾鬻流 植摭佰 蛴涎示 彐凶梗 靛硌湟 聩灏佣 鹦诧耙 铬组溘 唱酗世 纤撩恚 扯舶枉 钌扯价 救需珏 曩烧熔 湍孤鹨 殄篝说 屮篾棍 赭若澹 枰猎渝 俭波铑
打开App,查看更多内容
随时随地看视频慕课网APP