js计时器方法的使用
js中计时器重要使用window.setInterval()方法和window.setTimeout()方法,
其中setInterval()方法的作用是每隔一段时间执行一次方法,而window.setTimeout()在一段时间内调用函数。
setTimeout()方法一般通过调用自身迭代的方式实现计时器。与这两个方法对应的,还有清除这两个函数效果的
两个方法,分别是window.clearInterval()和window.clearTimeout()。
1.setInterval()和clearInterval() (window可以省略)
(1)setInterval()方法常用的语法如下:
setInterval(function,interval);
其中function是将要在间隔时间内执行的函数,interval是间隔的时间,单位是毫秒。
(2)clearInterval()方法的常用语法如下:
timer = setInterval(function,interval);
clearInterval(timer);
例子:
<html>
<head></head>
<body>
<p id="timer">点击开始计时!</p>
<div>
<button id="cutTimer" onclick="start()">开始</button>
<button id="cutTimer" onclick="stop()">停止</button>
</div>
<script>
var cutT = document.getElementById("cutTimer"); var timer1 = null; function start(){
var countTime = function(){
date = new Date();
dateStr = date.toLocaleTimeString();
document.getElementById("timer").innerHTML = dateStr;
} timer1 = window.setInterval(countTime,1000); } function stop(){
console.log("timer stop:"+timer1);
window.clearInterval(timer1);
}; </script>
</body>
</html>
在这个例子中,点击开始后(会有一段延迟),页面上每隔1000毫秒(也就是1秒)执行一次,也就是显示当前的时分秒。
2.setTimeout()和clearTimeout()
这两个方法与setInterval()和clearInterval()方法用法类似,示例如下:
<html>
<head></head>
<body>
<p id="timer"></p>
<div>
<button id="cutTimer" onclick="timeOutAlert();">执行</button>
<button id="cutTimer" onclick="stopTimeOutAlert();">停止</button>
</div>
<script>
timeOut = null;
function timeOutAlert(){
timeOut = window.setTimeout(function(){
console.log("time out..."+timeOut);
timeOutAlert();
},1000);
} function stopTimeOutAlert(){
console.log("timeCut:"+timeOut);
window.clearTimeout(timeOut);
}
</script>
</body>
</html>
可以看到timeOutAlert()方法每隔1000毫秒调用自身,在控制台打印出当前timeOut的值,timeOut第一次使用
setTimeout()后为1,每次增加1,clearTimeout()通过这个数字作为入参清除当前的setTimeout()。
js计时器方法的使用的更多相关文章
- js计时器方法 setInterval(),setTimeout()
window.setInterval() 周期性地调用一个函数(function)或者执行一段代码. var intervalID = window.setInterval(func, delay[, ...
- js调用php和php调用js的方法举例
js调用php和php调用js的方法举例1 JS方式调用PHP文件并取得php中的值 举一个简单的例子来说明: 如在页面a.html中用下面这句调用: <script type="te ...
- 通过cookie实现搜索框内容保存关闭浏览器之前的操作、jq js实现方法
jq实现的方法: jq需要在页面中引入JQ.cookie插件 这是一个超轻量级插件 要实现的效果: 下面是jq代码: $(function(){ var til=$("#orderInfoC ...
- jquery.validate.min.js 用法方法示例
页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- jQuery 互相调用iframe页面中js的方法
1,子iframe内调用父类函数方法: window.parent.func(); 2,子Iframe中获取父界面的元素: $("#xx", window.parent.docum ...
- JS扩展方法——字符串trim()
转自:http://www.cnblogs.com/kissdodog/p/3386480.html <head> <title>测试JS扩展方法</title> ...
- Js apply 方法 详解
Js apply方法详解 我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...
- JavaScript基础12——js的方法重载
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS replace()方法-字符串首字母大写
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. replace()方法有两个参数,第一个参数是正则表达式,正则表达式如果带全局标志/g,则是代表替换 ...
随机推荐
- window 窗口编辑
package com.chuangkohua; import java.awt.FileDialog; import java.awt.FlowLayout; import java.awt.Fra ...
- Enterprise Library 6.0 参考源码索引
http://www.projky.com/entlib/6.0/Diagnostics/Tracing/DiaLib.cs.htmlhttp://www.projky.com/entlib/6.0/ ...
- Linux上两种网络连接方式
模式一:NAT方式好处:路由器更换,或者交换机更换,网络仍然可以使用,所用使用最多 准备工作: 查看VMware服务器启动情况,五个全开模式 vmnet8开启模式 1 配置VMware交换机的ip地址 ...
- TP5 多入口文件配置的坑
闲话不多说,TP5(5.0.20) 在配置多入口文件的时候你是否遇到过一下的问题呢? 开发设计的需求吧网站拆分为前台.后台.API 3 个模块,对应的也需要3个入口文件,后台和API入口文件是用PAT ...
- sys下gpio操作
gpio_operation 通过/sys/文件接口操作IO端口 GPIO到文件系统的映射 * 控制GPIO的目录位于/sys/class/gpio * /sys/class/gpio/export文 ...
- 用JavaScript添加选择按钮的背景颜色和juqery添加选择按钮的背景色
在项目开发中经常遇到要选择的按钮,选择完之后被选择的按钮的背景色会发生变化,表示被选择 样式图如下: 每点击一个数字,相应的背景色变为蓝色,其他的依旧是白色,先用JavaScript实现 html代码 ...
- UESTC 1832
今天比赛的时候做的一个题目.感觉这个题目不错. 题目描述: Description In a laboratory, an assistant, Nathan Wada, is measuring w ...
- Python 变量(下)
列表 列表是可修改的序列类型.所以列表不可以作为字典的键. >>> a = [1] >>> hash(a) Traceback (most recent call ...
- P4314 CPU监控
题面 这是一道堪称"线段树3"的线段树好题,对于\(lazy\)标记的操作可以说是非常巧妙 我们用结构体来记录\(lazy\)标记,结构体中定义\(a,b\)两个元素,\(a\)表 ...
- Error:Artifact 'xx.war exploded' has invalid extension
环境信息: IDEA 13 , MAVEN, JBOSS 7. 配置信息: 常规配置. 出错信息: Error:Artifact 'xx.war exploded' has invalid ext ...