处理获取验证码倒计时问题

问题描述:iOS的壳,H5的内容。点击获取验证码,进入60秒倒计时,此时将APP进入后台挂起,过一分钟之后,重新进入此APP,发现倒计时并未进行完,依旧显示倒计时状态。
如果利用iOS实现后台运行的方法去解决这个问题,显得大材小用。那么就需要从H5入手。
实现思路,获取两个时间戳,一个在点击获取验证码按钮时获取,另一个在循环时获取,并在循环方法中处理两个时间戳的差值。
实现代码如下:

$(".get").click(function(){        
  var _time=parseInt(new Date().getTime()/1000);  // 时间戳1
  _time=_time+60;            
  $('#checkVal').attr("disabled", false);              
  $(".get").attr("disabled", true);           
  $(".get").val("60s后重发");            
  $(".get").css({"color":"#999","border-color":"#dedede"});        
  var _newt;        
  var InterValObj = window.setInterval(function(){           
    _newt=parseInt(new Date().getTime()/1000);    // 时间戳2        
    _endT= _time - _newt;           
    if(_endT>0){                
      $(".get").val(_endT + "s后重发");           
    }else{                
      $(".get").val("重新发送");                    
      $(".get").css({"color":"#17b4eb","border-color":"#17b4eb"});                    
      $(".get").attr("disabled", false);                      
      $('#checkVal').attr("disabled", true);                    
      window.clearInterval(InterValObj);           
    }       
  },1000);               
  getCode();  // 获取验证码  
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容