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 相关文章推荐
各种常用浏览器getBoundingClientRect的解析
May 21 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
Dec 10 Javascript
javascript获取元素离文档各边距离的方法
Feb 13 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
Apr 13 Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
trackingjs+websocket+百度人脸识别API实现人脸签到
Nov 26 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 Javascript
js实现小球在页面规定的区域运动
Jun 16 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
Jul 26 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
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
node获取客户端ip功能简单示例
2019/08/24 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
详解Python中find()方法的使用
2015/05/18 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
面试后感谢信怎么写
2014/02/01 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
护士2015年终工作总结
2015/04/29 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python