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 相关文章推荐
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 Javascript
input禁止键盘及中文输入,但可以点击
Feb 13 Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
JS实现的简易拖放效果示例
Dec 29 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
vue基础之data存储数据及v-for循环用法示例
Mar 08 Javascript
实例讲解React 组件
Jul 07 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 Javascript
JS实现页面侧边栏效果探究
Jan 08 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删除左端与右端空格的方法
2014/11/29 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
Prototype Object对象 学习
2009/07/12 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
下拉框select的绑定示例
2014/09/04 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
娱乐地球:Entertainment Earth
2020/01/08 全球购物
室内拓展活动方案
2014/02/13 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
仓库规划计划书
2014/04/28 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android