js 定时器

    //获取服务器时间
    serverTime();
    function serverTime() {
      AjaxPost("commond/server_time.php", {}, function (result) {
        if (result.code == "200") {
          $(".times").html(result.datas['times']);
          //将获取到的服务器时间传入定时器
          beginaddtime(result.datas['times']);
        } else {
          layer.msg(result.datas)
        }
      });
    }
    
    function beginaddtime(datetime){
        var nowdate=datetime;
        //将定时器赋给全局变量
        device_time = setInterval(function(){
           nowdate=startTime(nowdate);
        },1000)
    }
       
    
    function startTime(nowdate){
        var today = new Date(nowdate);
        //转换成时间戳加秒数
        var addtimes = new Date(today.getTime() + 1000 );
        var h = addtimes.getHours();
        var m = addtimes.getMinutes();
        var s = addtimes.getSeconds();
        var y = addtimes.getFullYear();
        var mo= addtimes.getMonth()+1;
        var d= addtimes.getDate();
        m = checkTime(m);
        s = checkTime(s);
        var nowdate=y+"-"+mo+"-"+d+" "+h+":"+m+":"+s;
        $(".times").html(nowdate);
        return nowdate;
    }
    function checkTime(i){
        if(i<10){
            i = "0"+i;
        }
        return i
    }

    //js存在一个问题,当切出当前页面时,时间会滞留
    //监听页面,当切回当前页面时 重新获取时间
    document.addEventListener("visibilitychange", function () {
      if (!document.hidden) {  
        // 当切回页面 重启获取时间 启动定时器
        serverTime();
      }else{
        // 不处于当前页面时 关闭这个定时器
        clearInterval(device_time); 
      }
    });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值