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

时间:2021-05-26

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

分别复制 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>

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章