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 相关文章推荐
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
jQuery模拟新浪微博首页滚动效果的方法
Mar 11 Javascript
JS获取一个未知DIV高度的方法
Aug 09 Javascript
JS常用正则表达式总结【经典】
May 12 Javascript
AngularJS 实现购物车全选反选功能
Oct 24 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
jquery插件开发模式实例详解
Jul 20 jQuery
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
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 远程关机操作的代码
2008/12/05 PHP
PHP 文件上传功能实现代码
2009/06/24 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
在python的类中动态添加属性与生成对象
2016/09/17 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
django2 快速安装指南分享
2018/01/05 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
python如何实现代码检查
2019/06/28 Python
python匿名函数用法实例分析
2019/08/03 Python
python 实现兔子生兔子示例
2019/11/21 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
简历自我评价模版
2014/01/31 职场文书
期末学生评语大全
2014/04/24 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
2015年统战工作总结
2015/05/19 职场文书
八月一日观后感
2015/06/10 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
SpringBoot生成License的实现示例
2021/06/16 Java/Android
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL