javascript实现一款好看的秒表计时器


Posted in Javascript onSeptember 05, 2020

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

实现图片:

分+秒+跑秒

javascript实现一款好看的秒表计时器

时+分+秒+跑秒

javascript实现一款好看的秒表计时器

需求分析:

1、显示整个秒表页面;

2、在点击“开始”按钮之后,开始计时,并将按钮转为“暂停”按钮,在点击“暂停”按钮之后,将按钮转为“开始”按钮,并停止计时;

3、在点击“复位”按钮之后,将显示的计时清零,并将按钮变回“开始”按钮。

页面结构:

<div id="miaoBiao">
 <div id="dingShi">
 <p>
 <!-- <span id="houer">00</span> : -->
 <span id="minute">00</span> : 
 <span id="second">00</span> 
 <span id="msecond">00</span>
 </p>
 <!-- 显示:时:分:秒 跑秒 ,“时”解除注释可使用 -->
 <button id="btn1">开始</button>
 <button id="reset">复位</button>
 </div>
</div>

页面的主体结构主要包括四个span,包含四个秒表上显示的时间;以及两个按钮:“开始/暂停”与“复位”按钮。

一些函数:

id节点调用函数

function jieDian(id){
   return document.getElementById(id);
  }

通过调用此函数可以简化页面代码

开始运行函数

function startBtn(){
 timer1=setInterval(function(){
 i++
 jieDian("msecond").innerHTML =doubleLing(i%100);
 jieDian("second").innerHTML =doubleLing(parseInt(i/100)%60) ;
 jieDian("minute").innerHTML =doubleLing(parseInt(i/6000)%60) ;
 jieDian("houer").innerHTML =doubleLing(parseInt(i/360000)) ;
 },10)
 }
 //开始运行函数

暂停函数

function pasueBtn(){
 clearInterval(timer1)
 }

赋0函数

function doubleLing(i){
 if(i<10){
 return "0"+i
 }else{
 return i
 }
 }
//赋0函数,当时分秒显示为个位数时,在前面加上“0”

完整代码,复制可用:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
 <style>
 #miaoBiao{
 width: 550px;height: 450px;background-color: #1d262d;overflow: hidden;
 margin: 50px auto;border-radius: 150px;
 }
 #dingShi{
 width: 400px;height: 230px;background-color:#d0eaeb;text-align: center;
 padding-top: 0px;margin: 110px auto;border-radius: 40px;
 }
 #dingShi p{
 font-size: 40px;padding-top: 40px;
 }
 #minute,#second,#houer{
 font-size: 56px;
 }
 #dingShi button{
 width: 80px;height: 35px;background-color: orange;margin: 10px auto;
 line-height: 35px;font-weight: bold;margin: 0px 20px;
 }
 </style>
</head>
<body>
 <div id="miaoBiao">
 <div id="dingShi">
 <p>
 <span id="houer">00</span> : 
 <span id="minute">00</span> : 
 <span id="second">00</span> 
 <span id="msecond">00</span>
 </p>
 <!-- 显示:时:分:秒 跑秒 ,“时”解除注释可使用 -->
 <button id="btn1">开始</button>
 <button id="reset">复位</button>
 </div>
 </div>
 
 <script>
 var i = 0;
 var timer1=null;
 var isRunning =false;
 //isRunning用于判断当前是否正在运行
 function jieDian(id){
 return document.getElementById(id);
 }
 //id节点调用函数

 function startBtn(){
 timer1=setInterval(function(){
 i++
 jieDian("msecond").innerHTML =doubleLing(i%100);
 jieDian("second").innerHTML =doubleLing(parseInt(i/100)%60) ;
 jieDian("minute").innerHTML =doubleLing(parseInt(i/6000)%60) ;
 jieDian("houer").innerHTML =doubleLing(parseInt(i/360000)) ;
 },10)
 }
 //开始运行函数

 function pasueBtn(){
 clearInterval(timer1)
 }
 //暂停函数

 jieDian("btn1").onclick = function(){
 if(!isRunning){
 jieDian("btn1").innerHTML = "暂停";
 isRunning = true;
 startBtn();
 }else{
 jieDian("btn1").innerHTML="开始";
 isRunning = false;
 pasueBtn();
 }
 }
 //“开始”与“暂停”点击按钮:
 //当按钮显示为“开始”,点击之后,将按钮转为“暂停”按钮,并触发相应条件;
 //当按钮显示为“暂停”,点击之后,将按钮转为“开始”按钮,并触发相应条件。

 jieDian("reset").onclick =function(){
 clearInterval(timer1)
 i = 0;
 isRunning = false;
 jieDian("btn1").innerHTML="开始";
 jieDian("msecond").innerHTML ="00";
 jieDian("second").innerHTML ="00";
 jieDian("minute").innerHTML ="00";
 jieDian("houer").innerHTML ="00";
 }
 //复位按钮,点击之后将秒表各值复位,并“暂停”秒表

 function doubleLing(i){
 if(i<10){
 return "0"+i
 }else{
 return i
 }
 }
 //赋0函数,当时分秒显示为个位数时,在前面加上“0”
 </script>
</body>
</html>

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

Javascript 相关文章推荐
封装好的js判断操作系统与浏览器代码分享
Jan 09 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
May 17 Javascript
用js实现简单算法的实例代码
Sep 24 Javascript
JS基于面向对象实现的拖拽功能示例
Dec 20 Javascript
解决Angular.Js与Django标签冲突的方案
Dec 20 Javascript
js实现下拉菜单效果
Mar 01 Javascript
vue数据双向绑定的注意点
Jun 23 Javascript
vue侧边栏动态生成下级菜单的方法
Sep 07 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
Layui tree 下拉菜单树的实例代码
Sep 21 Javascript
JavaScript选择器函数querySelector和querySelectorAll
Nov 27 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 #Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 #Javascript
Vue中component标签解决项目组件化操作
Sep 04 #Javascript
JS数组转字符串实现方法解析
Sep 04 #Javascript
v-slot和slot、slot-scope之间相互替换实例
Sep 04 #Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 #Javascript
解决vue scoped scss 无效的问题
Sep 04 #Javascript
You might like
MYSQL数据库初学者使用指南
2006/11/16 PHP
PHP 彩色文字实现代码
2009/06/29 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
js闭包用法实例详解
2016/12/13 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
python中的代码编码格式转换问题
2015/06/10 Python
python删除字符串中指定字符的方法
2018/08/13 Python
学习python分支结构
2019/05/17 Python
scrapy头部修改的方法详解
2020/12/06 Python
python链表类中获取元素实例方法
2021/02/23 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
房地产开发计划书
2014/01/10 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
Go获取两个时区的时间差
2022/04/20 Golang