js计时函数实现秒表的开始-暂停-清零功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>在页面上实现一个秒表 00:00:00 (分钟:秒钟:百分秒) ,通过三个按钮(开始、停止、重置)来控制</h1>
<p id="second_watch">00:00:00</p>
<p>
<input id="time_start" type="button" value="开始" onclick="time_start()" />
<input type="button" value="停止" onclick="time_stop()" />
<input type="button" value="重置" onclick="time_reset()" />
</p>
<script>
var i1 = 0; //分钟第一位
var i2 = 0; //分钟第二位
var s1 = 0; //秒第一位
var s2 = 0; //秒第二位
var ms1 = 0; //百分秒第一位
var ms2 = 0; //百分秒第二位
var t; //计时函数保存
function time_start(){
document.getElementById("time_start").disabled = "true"; //开始后使开始按钮失效,防止多次点击计时加快的bug
ms2++; //只需百分秒最后一位自加,前面依次进位
if(ms2>9){
ms2 = 0;
ms1++;
}
if(ms1>9){
ms1 = 0;
s2++;
}
if(s2>9){
s2 = 0;
s1++;
}
if(s1>5){
s1 = 0;
i2++;
}
if(i2>9){
i2 = 0;
i1++;
}
if(i1>5){
//超出秒表计数范围
clearTimeout(t);
return false;
}
document.getElementById("second_watch").innerHTML = ""+i1+i2+":"+s1+s2+":"+ms1+ms2+"";
document.getElementById("second_watch").style.color = "black";
t = setTimeout("time_start()",10); //百分秒百分之一秒执行一次
} function time_stop(){
clearTimeout(t);
document.getElementById("second_watch").style.color = "red";
document.getElementById("time_start").disabled = ""; //停止时恢复按钮功能
} function time_reset(){
clearTimeout(t);
i1 = 0;
i2 = 0;
s1 = 0;
s2 = 0;
ms1 = 0;
ms2 = 0;
document.getElementById("second_watch").innerHTML = ""+i1+i2+":"+s1+s2+":"+ms1+ms2+"";
document.getElementById("second_watch").style.color = "black";
document.getElementById("time_start").disabled = "";
} </script>
</body>
</html>
js计时函数实现秒表的开始-暂停-清零功能的更多相关文章
- HTML5超酷秒表动画 可暂停和重置秒表
		关于HTML5和CSS3的时钟应用在之前我们已经分享过不少了,还有一些HTML5的日期选择应用.今天我们要分享一款基于HTML5和CSS3的圆盘秒表动画,秒表可以精确到0.001秒,并且可以在计时过程 ... 
- js防抖函数
		一.什么是函数防抖 概念:函数防抖(debounce),就是指触发事件后,在 n 秒内函数只能执行一次,如果触发事件后在 n 秒内又触发了事件,则会重新计算函数延执行时间. 举个栗子,坐电梯的时候,如 ... 
- JS回调函数全解析教程
		转自:http://blog.csdn.net/lulei9876/article/details/8494337 自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速g ... 
- 学习js回调函数
		<!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ... 
- 如何理解JS回调函数
		1.回调函数英文解释: A callback is a function that is passed as an argument to another function and is execut ... 
- Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针
		Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针 1.1. java方法引用(Method References) 与c#委托与脚本语言js ... 
- 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数
		来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ... 
- js引出函数概念的案例
		js引出函数概念的案例 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8&q ... 
- Windows及Linux平台下的计时函数总结
		本文对Windows及Linux平台下常用的计时函数进行总结,包括精度为秒.毫秒.微秒三种精度的各种函数.比如Window平台下特有的Windows API函数GetTickCount().timeG ... 
随机推荐
- iOS 之GCD串行和并发队列的理解
			dispatch_queue_t serialQueue = dispatch_queue_create("com.lai.www", DISPATCH_QUEUE_SERIAL) ... 
- Java常用API
			常用Java API 一. java.io.BufferedReader类(用于从文件中读入一段字符:所属套件:java.io) 1. 构造函数BufferedReader(java.io.FileR ... 
- Windows环境下多线程编程原理与应用读书笔记(7)————事件及其应用
			<一>事件 事件主要用于线程间传递消息,通过事件来控制一个线程是处于执行状态还是处于挂起状态. 事件和互斥量之间的差别: 事件主要用于协调两个或者多个线程之间的动作,使其协调一致,符合逻辑 ... 
- 正常启动HBase顺序
			先启动hadoop集群start-all.sh 在master节点会启动SecondaryNameNode,NameNode,ResourceManager 在slave节点会启动NodeManage ... 
- HDFS的接口(命令行接口和Java接口)--笔记
			HDFS 文件的系统访问的接口 1.Hadoop的shell命令脚本 hadoop fs -ls 列出某一个目录下的文件 hadoop fs -lsr 递归的方式列出所有文件 hadoop fs ... 
- CentOS配置上网
			CentOS设置: 进入CentOS命令模式: Centos7更改默认启动桌面(或命令行)模式 vi /etc/inittab:查看启动文件,在该文件中存在两种方式: multi-user.tar ... 
- hadoop的webUI查看Live Nodes为1
			开起了两个节点,而且jps查看确实开启了,但是用web端50070查看却一直显示为1 经过排查,将虚拟机直接copy一份,但是之前配置好hadoop环境的namenode格式化(format)生成的文 ... 
- .net core 在视图中快速获取路由(Areas、Controller、Action)
			我们在.net core中,经常碰到需要获取当前的Areas.Controller.Action,于是小编就扩展了Html,这样即可使用 Html.***来获取这些信息. 具体扩展类如下: publi ... 
- 使用XML设计某大学主页站点地图--ASP.NET
			一.使用XML设计某大学主页站点地图步骤如下 1.创建一个空网站,在项目文件上右击,然后[添加新项],选择[站点地图],新建一个可默认为Web.sitemap的文件. 2.在Web.sitemap里修 ... 
- linux 安装nginx 详解
			1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ... 
