JavaScript setTimeout()基本用法有哪些
在制作网页动态效果时,可能会遇到需要延时在执行的需求,这时就可以用到 js 中定时器来实现此类需求,本文将对setTimeout()做一个用法总结。
- setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式(以毫秒为单位)
- setTimeout()只执行函数一次,如果需要多次调用可以使用setInterval(),或者在函数体内再次调用setTimeout()
setTimeout()用法
举个简单的例子
加入下列代码,在打开的页面静候三秒后,弹出警告框“你好”
<script> setTimeout("alert('你好')", 3000) </script>
效果:
再复杂一些的function定义
<script> var myvar; function myFunction() { myVar = setTimeout(alertFunc, 3000); } function alertFunc() { alert("Hello!"); }
自动每秒加 1 的 function
使用 setTimeout( ) 令文字框的数值每秒就加 1, 当然你也可以设定其他递增的速度, 例如每五秒就加 5, 或每五秒就加 1。
<script> x = 0 function countSecond( ) { x = x+1 document.fm.displayBox.value=x setTimeout("countSecond()", 1000) } </script> <body bgcolor=lightcyan text=red> <p> </br> <form name=fm> <input type="text" name="displayBox"value="0" size=4 > </form> <script> countSecond( ) </script> </body>
用上述的方法设定时间, setTimeout( ) 虽然设定了是一秒, 但浏览器还有另外两项功能要执行, 所以一个循环的时间是稍多于一秒, 例如一分钟可能只有58 个循环。
延时关闭网页
按下按钮,Window open()打开一个网页,执行命令,三秒钟后自动关闭
<button onclick="openWin()">打开 "窗口"</button> <script> function openWin() { var myWindow = window.open("", "", "width=200, height=100"); myWindow.document.write("这是一个新窗口"); setTimeout(function(){ myWindow.close() }, 3000); } </script>
取消setTimeout()
当一个 setTimeout( ) 开始了循环的工作, 我们要使它停下来, 可使用 clearTimeout( )
<button onclick="myFunction()">点我弹出</button> <button onclick="myStopFunction()">阻止弹出</button> <script> var myVar; function myFunction() { myVar = setTimeout(function(){ alert("Hello") }, 2000); } function myStopFunction() { clearTimeout(myVar); } </script>
小结
setTimeout(),clearTimeout() , setInterval() 可以在写代码过程中灵活运用其特点达到需要完成的目的
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解JS中定时器setInterval和setTImeout的this指向问题
前言 Js是一个单线程语言,可以通过setTimeout()和setInterval()来设置代码在指定时刻运行,前者是在指定时间后执行,后者是指每隔一段时间执行.两者的使用方法类似. 最近在练习写一个小例子的时候用到了定时器,发现在setInterval和setTimeout中传入函数时,函数中的this会指向window对象,详细的介绍通过一个示例展开,一起来看看吧. 如下例: var num = 0; function Obj (){ this.num = 1, this.getNum =
-
JavaScript setInterval()与setTimeout()计时器
JavaScript是单线程语言,但是它可以通过设置超时值和间歇时间值来指定代码在特定的时刻执行.超时值是指在指定时间之后执行代码,间歇时间值是指每隔指定的时间就执行一次代码. 超时调用 超时调用使用window对象的setTimeout()方法,它接受两个参数:要执行的代码和以毫秒表示的时间(代码执行前的等待时间).其中,第一个参数可以是一个字符串(和eval()中使用的字符串一样),也可以是一个函数. 第二个参数是一个表示等待多长时间的毫秒数,但是在该时间过去后代码并不一定执行.JavaSc
-
JavaScript定时器setTimeout()和setInterval()详解
本文实例为大家分享了JavaScript定时器的具体方法,供大家参考,具体内容如下 1. 超时调用setTimeout() 顾名思义,超时调用的意思就是在一段实际之后调用(在执行代码之前要等待多少毫秒) setTimeout()他可以接收两个参数: 1.要执行的代码或函数 2.毫秒(在执行代码之前要等待多少毫秒) function test(){ alert("孙悟空"); } setTimeout(test,2000); //2s后弹出 "孙悟空" clearTi
-
JS ES6中setTimeout函数的执行上下文示例
本文介绍的是setTimeout函数,延迟执行函数里的执行上下文,分享给大家供大家参考学习,来看看详细的内容: (1)ES5中,setTimeout里面的函数的执行上下文为全局上下文,举例来说: function log(){ setTimeout(function(){console.log(this.id)},100) } var id=42 log.call({id:21}) //输出的结果为42 我们可以看到setTimeout,被延迟执行的函数,里面的this,指向的是全局作用域,也就
-
如何通过setTimeout理解JS运行机制详解
序 setTimeout()函数:用来指定某个函数或某段代码在多少毫秒之后执行.它返回一个整数,表示定时器timer的编号,可以用来取消该定时器. 例子 console.log(1); setTimeout(function () { console.log(2); }, 0); console.log(3); 问:最后的打印顺序是什么?(如果不了解js的运行机制就会答错) 正确答案:1 3 2 解析:无论setTimeout的执行时间是0还是1000,结果都是先输出3后输出2,这就是面试官常常
-
实例详解JavaScript中setTimeout函数的执行顺序
前言 setTimeout,前端工程师必定会打交道的一个函数.它看上去非常的简单,朴实,有着一个很不平凡的名字--定时器.其实网上关于JavaScript中setTimeout的文章很多,但总感觉例子不够直接具体,因此写了个简单的例子并加以解释希望能让大家明白setTimeout是如何执行的.下面话不多说了,来一起看看详细的介绍: 实例代码如下: var time1=new Date().getTime(); console.log(1,time1); setTimeout(function()
-
js学使用setTimeout实现轮循动画
本文实例为大家分享了setTimeout实现轮循动画的具体代码,供大家参考,具体内容如下 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id='box'></div> &
-
js中setTimeout的妙用--防止循环超时
上个周日,介绍了如何使用setTimeout代替setInterval进行间歇调用,这个周日,继续来讲<JavaScript高级程序设计>这本书里面,对于setTimeout的另一种妙用--防止循环超时 [这是铺垫,为故事的高潮埋下伏笔] JS是单线程的,一个代码块里面的代码,只能按顺序从上到下执行,所以如果中间有一块代码,执行起来非常耗时,就会导致下面的代码无法执行,出现浏览器假死的状态. JS的耗时操作,常见的有两种 1.向服务器发起请求 2.对数组的循环操作 (当然,还有一种,
-
JavaScript setTimeout()基本用法有哪些
在制作网页动态效果时,可能会遇到需要延时在执行的需求,这时就可以用到 js 中定时器来实现此类需求,本文将对setTimeout()做一个用法总结. setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式(以毫秒为单位) setTimeout()只执行函数一次,如果需要多次调用可以使用setInterval(),或者在函数体内再次调用setTimeout() setTimeout()用法 举个简单的例子 加入下列代码,在打开的页面静候三秒后,弹出警告框"你好" <
-
JavaScript中SetInterval与setTimeout的用法详解
setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止 参数 描述 code 必需,要调用的函数后要执行的 JavaScript 代码串. millisec 必需,在执行代码前需等待的毫秒数. setTimeinterval setInterval(code,millisec[,"lang"]) 参数
-
JavaScript setTimeout和setInterval的用法与区别详解
目录 I. 总述 II. setTimeout()函数 III. setInterval()函数 IV. 新年倒计时案例 总结 I. 总述 首先,setTimeout()和setInterval()函数是JavaScript中两个很重要的关于"时间的函数",因此,我们在学习JavaScript的过程中,一定要对这两个函数有一个深入的学习,它们两个函数也是经常被使用! 其中,如果分别用一句话来概括这两个函数,那么应该是这样的: setTimeout(): 该函数能够按照设定的时间值延迟执
-
javascript闭包(Closure)用法实例简析
本文实例讲述了javascript闭包(Closure)用法.分享给大家供大家参考,具体如下: closure被翻译成"闭包",感觉这东西被包装的太学术化.下面参考书本和网上资源简单探讨一下(理解不当之处务请留意). 1.什么是闭包 官方的回答:所谓"闭包",指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 看了上面的定义,如果你不是高手,我坚信你会和我一样愤怒的质问:这tmd是人话吗? 要理解闭包,还是代码
-
javascript中this用法实例详解
本文实例讲述了javascript中this用法.分享给大家供大家参考,具体如下: JavaScript中的this含义非常丰富,它可以是全局对象,当前对象或者是任意对象,这都取决于函数的调用方式.函数有以下几种调用方式:作为对象方法调用.作为函数调用.作为构造函数调用.apply或call调用. 对象方法调用 作为对象方法调用的时候,this会被绑定到该对象. var point = { x : 0, y : 0, moveTo : function(x, y) { this.x = this
-
实例讲解JS中setTimeout()的用法
本文实例讲解了JS中setTimeout()的用法,分享给大家供大家参考,具体内容如下 效果图: 具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript"&
-
JavaScript定时器常见用法实例分析
本文实例讲述了JavaScript定时器常见用法.分享给大家供大家参考,具体如下: 定时器 定时器在javascript中的作用 1.制作动画 2.异步操作 3.函数缓冲与节流 定时器类型及语法 /* 定时器: setTimeout 只执行一次的定时器 clearTimeout 关闭只执行一次的定时器 setInterval 反复执行的定时器 clearInterval 关闭反复执行的定时器 */ var time1 = setTimeout(myalert,2000); var time2 =
-
javascript原型模式用法实例详解
本文实例讲述了javascript原型模式用法.分享给大家供大家参考.具体分析如下: 一般在了解了工厂模式和构造函数模式的弊端之后,就知道为什么需要原型模式了 原型模式i的定义:每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法.比如在构造函数模型中sayInformation()方法,如果声明两个实例就要构造两次sayInformation方法,但是声明两次是没有必要的,这就是为什么有原型模式的出现(尼玛,网上那些博客
-
javascript的switch用法注意事项分析
本文实例分析了javascript的switch用法注意事项.分享给大家供大家参考.具体分析如下: 先来看以下代码: <script> var t_jb51_net = 65; switch (t_jb51_net) { case '65': alert("字符串65.jb51.net"); break; } </script> 你会发现没有弹出对话框,alert没有执行. 原因分析: 这里需要明确的是,switch在判断的时候使用的是全等号"===&
-
javascript中attachEvent用法实例分析
本文实例讲述了javascript中attachEvent用法.分享给大家供大家参考.具体分析如下: 一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.onclick=method1 obj.onclick=method2 obj.onclick=method3 如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,
随机推荐
- C#和lua相互调用的方法教程
- Docker如何进入启动容器
- 自己动手制作jquery插件之自动添加删除行功能介绍
- angular.js之路由的选择方法
- json 入门基础教程 推荐
- Linux中文本处理工具之sort命令详解
- asp,asp.net,php,jsp下的301转向代码
- CentOS安装pillow报错的解决方法
- 理解Javascript_15_作用域分配与变量访问规则,再送个闭包
- asp.net(c#)有关 Session 操作的几个误区
- PHP中使用curl入门教程
- 浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别
- PHP定时更新程序设计思路分享
- python实现马耳可夫链算法实例分析
- 强制删除rpm包的方法
- Javascript判断图片尺寸大小实例分析
- 深入理解React高阶组件
- 下拉菜单点击实现连接跳转功能的js代码
- Struts和servlet不能共存问题解决方法
- sqlserver 手工实现差异备份的步骤