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 相关文章推荐
Javascript 两个窗体之间传值实现代码
Sep 25 Javascript
jQuery解决iframe高度自适应代码
Dec 20 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
Aug 14 Javascript
javascript实现俄罗斯方块游戏的思路和方法
Apr 27 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
AngularJS入门教程之静态模板详解
Aug 18 Javascript
angular+bootstrap的双向数据绑定实例
Mar 03 Javascript
jQuery is not defined 错误原因与解决方法小结
Mar 19 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
Apr 07 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
php 代码优化的42条建议 推荐
2009/09/25 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
Js+XML 操作
2006/09/20 Javascript
推荐:极酷右键菜单
2006/11/29 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
vue的滚动条插件实现代码
2019/09/07 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
全面解析Vue中的$nextTick
2020/12/24 Vue.js
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
Python实现Kmeans聚类算法
2020/06/10 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python实现复制大量文件功能
2019/08/31 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
大学应届生求职简历的自我评价
2013/10/08 职场文书
应届护士推荐信
2013/11/16 职场文书
物业管理员岗位职责范文
2013/11/25 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
最常使用的求职信
2014/05/25 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
现场活动策划方案
2014/08/22 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
实验心得体会范文
2016/01/25 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
比较几种Redis集群方案
2021/06/21 Redis
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android