javascript中的定时器有两种:一种是一次性定时器,一种是可以持续使用的定时器;

1:一次性定时器setTimeout(a,b);兼容ie的任何版本

该方法接受两个参数,第一个是要执行的代码,第二个是将要执行的时间单位是毫秒。同时该方法返回一个唯一的定时器id方便我们调用和删除该定时器。该方法是BOM的window对象的方法所以我们用的时候可以把对象省略,也就是说setTimeout('alert("aaaa")',10000);和window.setTimeout('alert("aaaa")',10000);是等效的,后面几个方法也是同理。

example:

setTimeout('alert("aaaa")',10000);

这里的函数还可以(下面setInterval(a,b) 也同理)

setTimeout('myfun()',10000);调用一个函数

setTimeout(function(){.....},10000);作为回调函数使用

1.1那么怎么删除一次性定时器呢?利用setTimeout()返回的定时器id.

clearTimeout(timer); 定时执行之前先关闭定时器,清除还没执行的的定时器

var timer=setTimeout('alert("aaaa")',100);

2: 持续使用的定时器setInterval(a,b)
 我测试的是兼容IE5+

该方法和一次性定时器setTimeout(a,b);相同,只是第二个参数不是一次性时间而是每次间隔的时间

setInterval('alert("aaaa")',100);

2.1删除持续使用的定时器,也是要利用setInterval()返回的定时器id.

var timer=setInterval('alert("aaaa")',100);

clearInterval(timer);

example:

<script type="text/javascript">

window.onload=function(){ //页面内容加载完毕执行匿名函数

var div=document.getElementById("div1"); //获取div

time();  //执行time()函数

div.onclick=function(){ //当div被点击的时候执行匿名函数里面的 claerfun()函数

claerfun();

}

}

var timer; //新建一个变量用来后面装定时器返回的id

  function time(){ //新建一个名为time函数

  timer=setInterval(fun,1000); //创建定时器每隔1000毫秒(1s)就调用fun函数一次,并把定时器id赋值给建好的变量timer。

  }

  function fun(){ 

  alert("hi");

  }

  function  claerfun(){ //新建一个名为claerfun函数

  clearInterval(timer);//删除定时器

  }

</script>

javascript中的计时器的更多相关文章

  1. JavaScript中的计时器原理

    理解John Resig 在 How JavaScript Timers Work. 原理分析 timer(setInterval,setTimeout)有一个很重要的概念,时间延迟的长短是不稳定的. ...

  2. aspx利用cookie值来停止silverlight中的计时器

    一.silverlight与silverlight中可以利用委托(delegate)来刷新frame.Refresh() 1.在子类中定义委托捕捉关闭事件按钮 public delegate void ...

  3. JavaScript中调皮的undefined

    JavaScript中调皮的undefined 在JavaScript中undefined只是一个标识符,不是关键字,这个很不靠谱的标识符还不能像其他符号一样随意使用,一方面是需要它的原始值保持不变, ...

  4. JS中的计时器事件

    JS可以实现很多java代码不易完成的功能.这里学习一些js中的计时器事件. JavaScript 一个设定的时间间隔之后来执行代码,称之为计时事件. 主要通过两个方法来实现: 1.setInterv ...

  5. JavaScript中的垃圾回收和内存泄漏

    摘要: JS内存管理. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 程序的运行需要内存.只要程序提出要求,操作系统或者运行时就必须供给内存.所谓的内存泄漏简单来说是不再用到的 ...

  6. js中的计时器事件`setTimeout()` 和 `setInterval()`

    js中的计时器事件 在js中,通常会有一些事件,我们需要让它 间隔一段时间之后再发生,或者 每隔一段时间 发生一次,那就需要用到我们js中的计时事件 计时事件主要有两种: setTimeout() - ...

  7. [技术翻译]在现代JavaScript中编写异步任务

    本周再来翻译一些技术文章,本次预计翻译三篇文章如下: 04.[译]使用Nuxt生成静态网站(Generate Static Websites with Nuxt) 05.[译]Web网页内容是如何影响 ...

  8. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  9. javascript中的this与函数讲解

    前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...

随机推荐

  1. 表数据文件DBF的读取和写入操作

    import sys import csv import struct import datetime import decimal import itertools from cStringIO i ...

  2. C# HttpClient, 使用C#操作Web

    我们知道, .Net类库里提供了HttpWebRequest等类,方便我们编程与Web服务器进行交互. 但是实际使用中我们经常会遇到以下需求,基础类里没有直接提供相应的功能(WebClient类包含这 ...

  3. windows win10上传文件到linux服务器

    1.最直接当然使用终端secucrt和xshell putty之类的,然后使用sz rz 2.如果服务器端不支持sz rz可以使用scp命令,下面这个pscp.exe就是支持scp的,基于ssh,很好 ...

  4. SQL编程之高级查询(子查询)以及注意事项

    SQL编程之高级查询(子查询)以及注意事项   1.什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询.子查询可以使用几个简单命令构造功能强大的复合命令.子查询最常用于SELECT-SQL命 ...

  5. 完整学习git三 查看暂存区目录树 git diff

    1显示暂存区中的目录树 git ls-files git ls-tree git diff 魔法 1工作区与暂存区比较 git diff 2工作区与HEAD比较 git diff HEAD 3暂存区与 ...

  6. ACM题目————已知前序和中序求后序

    #include <iostream> #include <cstring> #include <cstdio> using namespace std; ], z ...

  7. javaWEB国际化(jsp中使用)

    在jsp页面中使用国际化方法,首先将jstl开源架包:jstl.jar,standard.jar导进去 并在src目录下建立以test开头,.properties结尾的文件:test_en_US.pr ...

  8. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  9. ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛 A Simple Job

    描述 Institute of Computational Linguistics (ICL), Peking University is an interdisciplinary institute ...

  10. python学习笔记三 深浅copy,扩展数据类型(基础篇)

    深浅copy以及赋值 对于字符串和数字而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy n1 = #n1 = 'hahahaha' #赋值n2 = n1#浅co ...