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. git修改文件名大小写的方法。

    首先,在git命令行里面运行: git config core.ignorecase false 此命令是全局设置,以后在此机子上clone出来的git仓库工程都沿用此设置.当然,以前就已经clone ...

  2. NSData NSDate NSString NSArray NSDictionary 相互转换

    // NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; NSDa ...

  3. [ios][swift]swift混编

    http://blog.csdn.net/iflychenyang/article/details/8876542(如何在Objective-C的头文件引用C++的头文件) 1.将.m文件扩展名改为. ...

  4. c# monitor锁

    当多个线程在并发的时候,难免会碰到相互冲突的事情,比如最经典的ATM机的问题,并发不可怕,可怕的是我们没有能力控制. 线程以我的理解可以分为三种 ① 锁. ② 互斥. ③ 信号. 好,这一篇主要整理“ ...

  5. poj2888 Magic Bracelet

    给你一个正n(<10^9)边形和m(<10)种色料,要求给正n边形顶点染色并且规定k组颜色对不能相邻, 输入保证n与mod互质,计数染色总方案数(绕图形中心旋转后相同的方案算一种)对mod ...

  6. Code(组合数学)

    Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8766 Accepted: 4168 Description Tran ...

  7. 简单的分页sql

    select top 5 * from books where id not in(select top (5*(5-1)) id from Books order by id) order by i ...

  8. python3数据类型

    python基本数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) ...

  9. reactjs入门到实战(七)---- React的组件的生命周期

    React的组件的生命周期有三个状态分别是:挂载(生产组件示例化.准备挂载到页面.挂载到页面).更新(更新值.更新DOM).和卸载(卸载后). >>>其他     getInitia ...

  10. Codeforces Round #370 (Div. 2) B

    Description Memory is performing a walk on the two-dimensional plane, starting at the origin. He is ...