zoukankan      html  css  js  c++  java
  • js 定时器的用法和清除

    一、设置定时器

      window对象提供了两个方法来实现定时器的效果,

        分别是window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。它们的原型如下:

           window.setTimeout(code,millisec);

    var i = 0;
        //设置定时器(循环去执行)
        var timeId = setInterval(function () {
          i++;
          console.log('定时运行:' + i + '次')
        }, 500)
    
        //清理定时器
        my$('btn').onclick = function () {
          window.clearInterval(timeId)
        }

           window.setInterval(code,millisec);

    var i = 0;
        //设置定时器(一次性定时器)
        var timeId = setTimeout(function () {
          i++;
          console.log('定时运行:' + i + '次')
        }, 500)
        //清理定时器(这个定时器虽然只有一次,但是也得清理 既可以释放内存,也可以便于后边代码的判断。)
        my$('btn').onclick = function () {
          window.clearTimeout(timeId)
        }

       其中,code可以是用引号括起来的一段代码,也可以是一个函数名,到了指定的时间,系统便会自动调用该函数,当使用函数名作为调用句柄时,不能带有任何参数;

    而使用字符串时,则可以在其中写入要传递的参数。两个方法中的第二个参数是millisec,表示延时或者重复执行的毫秒数。

    二、清除定时器

       由于定时器在调用时,都会返回一个整形的数字,该数字代表定时器的序号,即第多少个定时器,所以定时器的清除要借助于这个返回的数字。

       定时器清除的方法:clearTimeout(obj)和clearInterval(obj)。(注意对于的定时器用对于的清除方法

  • 相关阅读:
    Vue.js依赖收集
    Vue.js响应式原理
    详解.Net 如何上传自己的包到Nuget平台以及如何使用Nuget包管理器
    利用docker容器运行.net core webapi
    wpf mvvm datagrid DataGridTemplateColumn的绑定无效的可能原因之一!
    算法之A星算法(寻路)
    Python 学习日记 第一天
    Python 学习日记 第三天
    Python 学习日记 第二天
    再做一题,2013616更新
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10592557.html
Copyright © 2011-2022 走看看