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处理DOM元素事件实现代码
May 23 Javascript
html向js方法传递参数具体实现
Aug 08 Javascript
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
jQuery实现图片预加载效果
Nov 27 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 jQuery
详解vue-cli3 中跨域解决方案
Apr 10 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 02 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
vue点击标签切换选中及互相排斥操作
Jul 17 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
2006/12/14 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
简单实现js浮动框
2016/12/13 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
python 文件操作api(文件操作函数)
2016/08/28 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
python编程羊车门问题代码示例
2017/10/25 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
python安装scipy的方法步骤
2019/06/26 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
马来西亚网上购物:Youbeli
2018/03/30 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
护理自我鉴定范文
2013/10/06 职场文书
自荐信写法介绍
2014/01/25 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
毕业设计论文评语
2014/12/31 职场文书
倡议书怎么写?
2019/04/11 职场文书
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS