js实现倒计时器自定义时间和暂停


Posted in Javascript onFebruary 25, 2019

js倒计时器可自定义时间和暂停,效果如下,点击start 开始计时,end结束计时

js实现倒计时器自定义时间和暂停

分别复制 H5 css js 代码即可实现,具体的算法在js控制函数中(都写了注释)

css

html,body{
width:100%;height:100%;
}
.content{
height:100%;width:100%; 
}
.row-center{
display:flex;flex-direction:row;justify-content:center;
align-items:center;
}
.tc-input-style{
outline:none;border:none;width:20%;height:80%;border-radius:10px;
}
.tc-span-style{
width:30%;height:100%;font-weight:bold;
}
.tc-font-style{
font-size:15px;font-weight:bold;
}
.tc-div-style1{
height:33%;width:100%
}
.tc-div-style0{
height:30%;width:100%
}
.tc-div-style2{
height:10%;width:100%; 
}
.tc-div-style3{
height:100%;width:30%
}
.column-center{
display:flex;flex-direction:column;justify-content:center;
align-items:center;
}
.column-start-center{
display:flex;flex-direction:column;justify-content:flex-start;
align-items:center;
}
#timecount{
height:50%;width:20%;
}
.button-style-0{
border-radius:10px;
}
.row-space-around{
display:flex;flex-direction:row;justify-content:space-around;
align-items:center;
}

h5

<body>
<div class="content row-center"> 

  <div id="timecount" class="column-center tc-font-style" >
  <div class="column-start-center tc-div-style0" >
  <div class="row-center tc-div-style1" ><span class="tc-span-style row-center">小时:</span><input class=tc-input-style id="hour_count" value="0"> </div>
  <div class="row-center tc-div-style1" ><span class="tc-span-style row-center">分钟:</span><input class=tc-input-style id="minute_count" value="0"> </div>
  <div class="row-center tc-div-style1" ><span class="tc-span-style row-center">秒:</span><input class=tc-input-style id="second_count" value="0"> </div>
  </div>

  <div class="row-center tc-div-style2">
  <div class="row-center tc-div-style3" id="hour_show" ></div>
  <div class="row-center tc-div-style3" id="minute_show"></div>
  <div class="row-center tc-div-style3" id="second_show"></div>
  </div>

  <div class="row-space-around tc-div-style2">
  <button class="button-style-0" onclick="timecounts()">start</button>
  <button class="button-style-0" onclick="timestop()">stop</button>
  </div>

  </div>


</div>
</body>

记得引入jq

<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>

JS

<script type="text/javascript">
var timecount;//定义一个全局变量
function timer(intDiff){
 //定义一个循环函数每一秒定时执行
 timecount=setInterval(function(){
 var hour=0,
 minute=0,
 second=0;//初始化时间默认值 
 //算法控制
 if(intDiff > 0){
 hour = Math.floor(intDiff / (60 * 60)) ;
 minute = Math.floor(intDiff / 60) - (hour * 60);
 second = Math.floor(intDiff) - (hour * 60 * 60) - (minute * 60);
 }
 if (minute <= 9) minute = '0' + minute;
 if (second <= 9) second = '0' + second;
 //打印到dom
 $('#hour_show').html('<s id="h"></s>'+hour+'时');
 $('#minute_show').html('<s></s>'+minute+'分');
 $('#second_show').html('<s></s>'+second+'秒');
 intDiff--;
 }, 1000);
 console.log(intDiff); 
}

function timecounts(){
 console.log($("#hour_count").val())
 count=parseInt($("#hour_count").val()*3600)+parseInt($("#minute_count").val()*60)+parseInt($("#second_count").val())
 timer(count);//调用计时器函数
 console.log(count);
}
function timestop(){
 var hour= $("#hour_show").text();
 var minute= $("#minute_show").text();
 var second= $("#second_show").text();
 var time=parseInt($("#hour_show").text())*3600+parseInt($("#minute_show").text())*60+parseInt($("#second_show").text())
 console.log(time);
 timecount=window.clearInterval(timecount);//停止计时器
}
</script>

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

Javascript 相关文章推荐
javascript删除字符串最后一个字符
Jan 14 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
JavaScript使用ZeroClipboard操作剪切板
May 10 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
JavaScript实现页面中录音功能的方法
Jun 04 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
Jul 19 Javascript
Vue实现剪切板图片压缩功能
Feb 04 Javascript
在Webpack中用url-loader处理图片和字体的问题
Apr 28 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 Javascript
vue项目接口域名动态获取操作
Aug 13 Javascript
JS module的导出和导入的实现代码
Feb 25 #Javascript
js实现多个倒计时并行 js拼团倒计时
Feb 25 #Javascript
js实现网页同时进行多个倒计时功能
Feb 25 #Javascript
js实现一个页面多个倒计时的3种方法
Feb 25 #Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 #Javascript
写一个Vue Popup组件
Feb 25 #Javascript
利用Webpack实现小程序多项目管理的方法
Feb 25 #Javascript
You might like
怎样辨别一杯好咖啡
2021/03/03 新手入门
php递归法读取目录及文件的方法
2015/01/30 PHP
PHP递归创建多级目录
2015/11/05 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
PHP7新特性简述
2017/06/11 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
python删除文件示例分享
2014/01/28 Python
Python读写Excel文件方法介绍
2014/11/22 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
python 循环while和for in简单实例
2016/08/16 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
Python3 集合set入门基础
2020/02/10 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
用python批量下载apk
2020/12/29 Python
我的网上商城创业计划书
2013/12/26 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
乡镇创先争优活动总结
2014/08/28 职场文书
护林员个人总结
2015/03/04 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python