js实现简单的秒表


Posted in Javascript onJanuary 16, 2020

本文实例为大家分享了js实现简单的秒表具体代码,供大家参考,具体内容如下

描述:

实现一个简单的秒表,点击启动按钮时开始计时,随后启动按钮变为暂停,

点击暂停暂停计时,点击复位回到最初始状态。

效果:

js实现简单的秒表

代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
 #showTime
 {
  width: 300px;
  height: 60px;
  font-size: 60px;
  line-height: 60px;
 }
 </style>
</head>
<body>
 <div>
 <div id="showTime">00:00:00</div>
 <button id="startBn">启动</button>
 <button id="restBn">复位</button>
 </div>
<script>
 //——————
 var time,showTime,startBn,restBn,pauseDate;
 //布尔开关
 var bool=false;
 //暂停的累计时间
 var pauseTime=0;
 
 init();
 function init() {
 showTime=document.getElementById("showTime");
 startBn=document.getElementById("startBn");
 restBn=document.getElementById("restBn");
 startBn.addEventListener("click",clickHandler);//开始按钮 ~ 暂停按钮
 restBn.addEventListener("click",clickHandler);//复位按钮
 setInterval(animation,16);
 }
 
 //转化时间函数
 function animation() {
 if(!bool) return;
 //前时间减去上次开启时间减去暂停累计时间
 var times=new Date().getTime()-time-pauseTime;
 var minutes=Math.floor(times/60000);//毫秒转化为分钟
 var seconds=Math.floor((times-minutes*60000)/1000);//已知分钟 
 将time减去分钟 除去1000得出 秒
 var ms=Math.floor((times-minutes*60000-seconds*1000)/10);//
 showTime.innerHTML=
  (minutes<10 ? "0" +minutes : minutes)+":"
  +(seconds<10 ? "0"+seconds :seconds)+":"
 +(ms<10 ? "0"+ms : ms);
 }
 
 //点击时的事件
 function clickHandler(e) {
 e= e || window.event;
 if(this===startBn){
  bool=!bool;
  if(bool){
  this.innerHTML="暂停";
  //如果我们上一次暂停时间是空,表示没有暂停过,因此,直接返回0
  //如果上次的暂停时间是有值得,用当前毫秒数减去上次的毫秒数,这样就会得到暂停时间
  pauseTime+=(!pauseDate ? 0 : new Date().getTime()-pauseDate);
  if(time) return;
  time=new Date().getTime();
  return;//是为bool判断跳出
  }
 
  this.innerHTML="启动";
  pauseDate=new Date().getTime();
  return;//是为this是否等于startBn判断跳出
 }
 startBn.innerHTML="启动";
 pauseTime=0;
 pauseDate=null;
 bool=false;
 time=0;
 showTime.innerHTML="00:00:00";
 }
 
</script>
</body>
</html>

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

Javascript 相关文章推荐
Extjs学习笔记之七 布局
Jan 08 Javascript
javascript时间自动刷新实现原理与步骤
Jan 06 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
在JavaScript中使用timer示例
May 08 Javascript
js使用循环清空某个div中的input标签值
Sep 29 Javascript
JS实现可关闭的对联广告效果代码
Sep 14 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
Oct 24 Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
vue 中 命名视图的用法实例详解
Aug 14 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 Javascript
JS 数组基本用法入门示例解析
Jan 16 #Javascript
js实现上下左右键盘控制div移动
Jan 16 #Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 #Javascript
jQuery实现数字华容道小游戏(实例代码)
Jan 16 #jQuery
js实现点击生成随机div
Jan 16 #Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
Jan 16 #Javascript
JS实现可视化音频效果的实例代码
Jan 16 #Javascript
You might like
JAVA/JSP学习系列之六
2006/10/09 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
Javascript string 扩展库代码
2010/04/09 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
python自动安装pip
2014/04/24 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python实现SVN的目录周期性备份实例
2015/07/17 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
决定成败的关键——创业计划书
2014/01/24 职场文书
关于赌博的检讨书
2014/01/24 职场文书
党校学习自我鉴定
2014/02/24 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
网络宣传方案
2014/03/15 职场文书
空乘英文求职信
2014/04/13 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
岗位工作说明书
2014/07/29 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
Go 语言结构实例分析
2021/07/04 Golang