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

setInterval实现倒计时

setInterval实现倒计时

芜湖不芜 2018-10-21 21:46:53
用setInterval实现多个倒计时,代码如下://接口返回responseData,timeLeft是接口返回的剩余时间,是一个以秒为单位的整数var groupOn = responseData.groupOnfor (let i = 0; i < 2; i++) {    var timeLeft = groupOn[i].timeLeft     setInterval(() => {         timeLeft--        console.log(timeLeft)     }, 1000)    // setInterval(function (timeLeft) {     //     timeLeft--     //     // console.log(timeLeft)     // }, 1000, timeLeft)}我想要的效果是setInterval每秒打印两个timeLeft,比如两个timeLeft初始值分别为10和20,那么每秒打印一次,值递减,第一种写法打印的都是第二个timeLeft的值,第二种写法分别打印了两个timeLeft,但是值只递减了一次,应该怎么写才能实现我想要的效果?感觉是闭包的问题,但还是不知道怎么改写
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

var groupOn = [{timeLeft: 10}, {timeLeft: 20}];
setInterval(function(){

for (let i = 0; i < groupOn.length; i++) {
    var timeLeft = groupOn[i].timeLeft--;
    console.log(timeLeft);
}

}, 1000)


查看完整回答
反对 回复 2018-10-22
  • 1 回答
  • 0 关注
  • 894 浏览
慕课专栏
更多

添加回答

举报

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