JavaScript setTimeout()基本用法有哪些


Posted in Javascript onNovember 04, 2020

在制作网页动态效果时,可能会遇到需要延时在执行的需求,这时就可以用到 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() 可以在写代码过程中灵活运用其特点达到需要完成的目的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 错误处理的几种方法
Jun 13 Javascript
jquery form表单提交插件asp.net后台中文解码
Jun 12 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
Sep 17 Javascript
Javascript BOM学习小结(六)
Nov 26 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
Jun 18 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
vue 路由懒加载中给 Webpack Chunks 命名的方法
Apr 24 Javascript
js异步接口并发数量控制的方法示例
Nov 22 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
Sep 23 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 #Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 #Javascript
vant中的toast层级改变操作
Nov 04 #Javascript
vant中的toast轻提示实现代码
Nov 04 #Javascript
JavaScript快速调试的两个技巧
Nov 04 #Javascript
如何实现小程序与小程序之间的跳转
Nov 04 #Javascript
Vant 中的Toast设置全局的延迟时间操作
Nov 04 #Javascript
You might like
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP 函数语法介绍一
2009/06/14 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
node 使用 async 控制并发的方法
2018/05/07 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
人事主管岗位职责
2015/02/04 职场文书
黄河绝恋观后感
2015/06/08 职场文书
生日祝酒词大全
2015/08/10 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
2019 入党申请书范文
2019/07/10 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
MySQL的存储过程和相关函数
2022/04/26 MySQL