切换APP时,回到APP,验证码倒计时不准确

this.state={

  count:90,

  oldTime:0,

  link:true

}

componentDidMount(){

  let that = this

  let hiddenProperty = 'hidden' in document ? 'hidden' :

           'webkitHidden' in document ? 'webkitHidden' :

           'mozHidden' in document ? 'mozHidden' : null

  let visibiltyChangeEvent = hiddenProperty.replace(/hidden/i,'visibiltychange')

  window.addEventListener(visibiltyChangeEvent,function(){

    if(document.visibiltyState == 'hidden'){

    }else if(document.visibiltyState == 'visible'){

      let {oldTime} = that.state

      let newTime = new Date().getTime()/1000

      let timeDiff = Math.round(newTime - oldTime)

      if(link ==false&&timeDiff<90){//正在倒计时

        that.setState({

          count:90 - timeDiff

        })

      }else{//倒计时已结束

        that.setState({

          count:0,

          link:true

        })

      }

    }

  })

}

render(){

  this.setState({

    oldTime:new Date().getTime()/1000

  })

}

posted @   riverslake  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示