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调用

  • 相关阅读:
    IP和java.net.InetAddress类的使用
    Redis(五):几个常用概念
    Redis(一):概述
    mongodb写入策略(WriteConcern)
    mongodb配置详解
    MongoDB优化
    Python 多进程异常处理
    Python多进程编程-进程间协作(Queue、Lock、Semaphore、Event、Pipe)
    Mongodb 性能测试
    把 MongoDB 当成是纯内存数据库来使用(Redis 风格)
  • 原文地址:https://www.cnblogs.com/Singulariity-gs/p/11207691.html
Copyright © 2011-2022 走看看