zoukankan      html  css  js  c++  java
  • Js定时器

    关于Js定时器,就我目前所用的,有两种实现方式:

    1、window.setInterval()

    语法结构:

        let intervalId = window.setInterval(codeStr,interval)

    语法参数解析:

        intervalId ,是该方法的返回值,作为该方法的唯一表示

        codeStr,必需,将要被循环调用的回调函数。

        interval,必需,周期的时间跨度,以毫秒计算。

    使用案例:

        

    var time = 1000;
    var zsjInterval = setInterval(function () {
              time = time - 1;
              if (time == 0 || time < 0) {
                that.detail();
              } else {
                var day = parseInt(time / 60 / 60 / 24);
                var hour = parseInt(time / 60 / 60 % 24);
                if (hour.toString().length == 1) {
                  hour = "0" + hour;
                }
                var minute = parseInt(time / 60 % 60);
                if (minute.toString().length == 1) {
                  minute = "0" + minute;
                }
                var seconds = parseInt(time % 60);
                if (seconds.toString().length == 1) {
                  seconds = "0" + seconds;
                }
                $(".zongtime .number").html("");
                $(".zongtime .number").html(hour + ":" + minute + ":" + seconds);
              }
            }, 1000)
    clearInterval(zsjInterval);//该方法用来终止定时器的

    注意:同一个页面用到多个定时器的时候,要通过clearInterval()方法处理,以免出现多个定时器混乱的情况。

    2、window.setTimeout()

    语法结构:

        let intervalId = window.setInterval(codeStr,interval)

    语法参数解析:

        intervalId ,是该方法的返回值,作为该方法的唯一表示

        codeStr,必需,将要被循环调用的回调函数。

        interval,必需,周期的时间跨度,以毫秒计算。

    使用案例:

    var time = 1000;
    zsjTimer(time){
    var that = this zsjInterval = setTimeout(function () { time = time - 1 if (time == 0 || time < 0) { that.detail() } else { var day = parseInt(time / 60 / 60 / 24); var hour = parseInt(time / 60 / 60 % 24); if (hour.toString().length == 1) { hour = "0" + hour } var minute = parseInt(time / 60 % 60); if (minute.toString().length == 1) { minute = "0" + minute } var seconds = parseInt(time % 60); if (seconds.toString().length == 1) { seconds = "0" + seconds } $(".zongtime .number").html("") $(".zongtime .number").html(hour + ":" + minute + ":" + seconds) that.zsjTimer(time) } }, 1000) }
    clearTimeout(zsjInterval);

     说明:使用 window.setTimeout() 方法做倒数定时器,是通过递归方法实现的;

    特别说明:凡是属于window对象的方法都可以直接调用,无需使用window调用

  • 相关阅读:
    Ceph性能优化
    查看linux中的TCP连接数
    从 PC 卸载 Office
    VDI数据恢复
    xencenter迁移云主机方法
    深入解析UUID及其应用(转载)
    XenServer master主机的作用
    解决CentOS下可以ping通ip ping不通域名
    利用Powershell查询AD中账号属性
    创建进程的第二种方法,以后很多都用这个方法。
  • 原文地址:https://www.cnblogs.com/Singulariity-gs/p/11207691.html
Copyright © 2011-2022 走看看