账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    setInterval实现倒计时
    40
    0

    用setInterval实现多个倒计时,代码如下:

    //接口返回responseData,timeLeft是接口返回的剩余时间,是一个以秒为单位的整数
    var groupOn = responseData.groupOn
    for (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,但是值只递减了一次,应该怎么写才能实现我想要的效果?感觉是闭包的问题,但还是不知道怎么改写

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部