JavaScript可以开始和停止的倒计时

微信小程序 实现简单倒计时功能 案例描述:设计一个实现倒计时功能的小程序,小程序运行后,首先显示空白界面,过2秒后才显示计时界面,点击“开始计时”按钮后开始倒计时,点击“停止计时”按钮后停止计时。 实现效果:根据案例描述做出如下图效果,初始显示空白界面,2秒后显示计时界面(图1),数字为60,点击“开始计时”按钮后开始倒计时,点击“停止计时”按钮后停止计时(图2)。 阅读详情

代码如下:

<!DOCTYPE html>

<html>
<head>
<meta charset=" utf-8">
<title>倒计时</title>
<style>
body, div{
  margin:0;
  padding:0;
}
body{
  color:#fff;
  font:16px/1.5 \5fae\8f6f\96c5\9ed1;
}
#countdown{
  width:300px;
  text-align:center;
  background:#1a1a1a;
  margin:10px auto;
  padding:20px 0;
}
input{
  border:0;
  width:283px;
  height:50px;
  cursor:pointer;
  margin-top:20px;
}
span{
  color:#000;
  width:80px;
  line-height:2;
  background:#fbfbfb;
  border:2px solid #b4b4b4;
  margin:0 10px;
  padding:0 10px;
}
</style>
<script>
window.onload=function (){
  var oCountDown=document.getElementById("countdown");
  var aInput=oCountDown.getElementsByTagName("input")[0];
  var timer=null;
  aInput.onclick=function(){
    this.value=="开始倒计时"?(timer=setInterval(updateTime,1000),this.value="结束倒计时")
    :(clearInterval(timer),this.value="开始倒计时");
  };
  function format(a){
    return a.toString().replace(/^(\d)$/,'0$1')
  }
  function updateTime (){
    var aSpan=oCountDown.getElementsByTagName("span");
    var oRemain=aSpan[0].innerHTML.replace(/^0/,'') * 60
    +parseInt(aSpan[1].innerHTML.replace(/^0/,''));
    if(oRemain<=0){
      clearInterval(timer);
      return
    }
    oRemain--;
    aSpan[0].innerHTML=format(parseInt(oRemain / 60));
    oRemain %= 60;
    aSpan[1].innerHTML=format(parseInt(oRemain));
  }
}
</script>
</head>
<body>
<div id="countdown"> <span>01</span>分钟<span>40</span>秒
<input type="button" value="开始倒计时" />
</div>
</body>
</html>

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).window.onload=function (){},当文档内容完全加载完毕再去执行函数中的代码。

(2).var oCountDown=document.getElementById("countdown"),获取id属性值为countdown的元素对象。

(3).var aInput=oCountDown.getElementsByTagName("input")[0],获取第一个input元素,也就是按钮元素。

(4).var timer=null,用来作为定时器方法的标识。

(5).aInput.onclick=function(){},为按钮注册click事件处理函数。

(6).this.value=="开始倒计时"?(timer=setInterval(updateTime,1000),this.value="结束倒计时") : (clearInterval(timer),this.value="开始倒计时"),使用三元运算符来设置按钮的value属性值,和开始和停止倒计时效果。

(7).function format(a){

  return a.toString().replace(/^(\d)$/,'0$1');

},格式化数字,如果是个位数字,前面加0.

(8).function updateTime (){},此函数是实现倒计时效果的核心。

(9).var aSpan=oCountDown.getElementsByTagName("span"),获取span元素集合。

(10).var oRemain=aSpan[0].innerHTML.replace(/^0/,'') * 60+parseInt(aSpan[1].innerHTML.replace(/^0/,'')),使用正则表达式将开始的零删除,并计算出所有时间的秒数。

(11).if(oRemain<=0){

  clearInterval(timer);

  return

},如果剩余的秒数小于等于零,自然要停止倒计时效果了,并跳出函数。

(12).oRemain--,秒数减一。

(13).aSpan[0].innerHTML=format(parseInt(oRemain / 60)),计算并显示分钟数。

(14).oRemain %= 60,进行求余运算,算出秒数。

(15).aSpan[1].innerHTML=format(parseInt(oRemain)),显示秒数。


效果如下:



带暂停功能的Android倒计时器TimeCountDown实现详解 本文还有配套的精品资源,点击获取 简介:本压缩包详细介绍了在Android开发中实现一个自定义的倒计时器,该倒计时器具备暂停和恢复功能。用户可以通过 start() , pause() , resume() 方法控制倒计时的进行,同时提供UI更新机制和用户交互按钮的支持。倒计时器在各种场景下如游戏、广告、网络请求等均具有实际应用价值... 阅读详情

相关推荐

LabVIEW 调用MATLAB 进行图像处理的实现

程机械及设备的变形、振动、冲击、粗糙度、刚度和强度等特性,还可用在土木结构、水利设施的变形测量[4][5]。因此,该技术在机械、土木、水利、电器、航空航天、兵器工业及生物医学等领域的检测中具有非常重要的地位。将物面前方空间的散斑用摄像设备记录下来,当物体运动或由于受力而变形时,这些随机分布的散斑图也随之在空间按一定的规律运动,因此能用记录的散斑图在计算机上分析物体的运动和变形,这就是电子散斑技术。当物体的漫反射表面被激光照射时,漫反射的光波在物体表面的前方相互干涉,由于漫反射光的。

qq_37971227的博客 3874

javaScript:实现倒计时定时器setInterval的开始计时、暂停计时、停止计时效果

描述: 点击开始,从60秒开始计时; 点击停止,时间会重置,等再次点击开始,就会从60开始; 点击暂停,倒计时暂停,再次点击开始,则从暂停时的时间开始倒计时 效果如图: 代码如下: <button>开始</button> <button>停止</button> <button>暂停</button> <div>倒计时:60秒</div> <script> .

小福气的博客 9063

ctfshow WEB web4

ctfshow WEB web4

weixin_68416970的博客 722

JavaScript实现的计时器效果

在这段代码中,刚开始实现的时候,没有把timer设置为全局变量,而是在函数中使用了var关键字,这样timer是局部变量,结果定时器无法停止。后来去掉关键字var,timer成为全局变量好了,于是最后把timer放在函数外,直接定义为全局变量,这样程序可读性好一些。//开启定时器,前面不能加关键字var ,那会变成局部变量,定时器不能清除,不会从0开始。1.点击“开始”后,按秒计时且“开始”文字变为“停止”;2.点击“停止”,计时停止,文字变为“开始”;//全局变量,从0开始计时,初始值为0。

wangyining070205的博客 1864

ABP多租户实现

abp会调用ITenantStore.Find(Guid)方法去查tenant是否存在。要骗过abp就得自己实现ITenantStore并替换原来的实现。abp会自动解jwt里的tenant id,并且尝试验证它。这时候我们之前实现的ITenantStore就可以骗过abp。你要不想骗它也成,反正这个类是可以依赖注入的,你爱咋验证就咋验证。不用open id dict,只用jwt,让abp轻起来。在原来生成jwt的地方加入tenantId。module上也要加DependsOn。

m0_46704355的博客 473

HFSS入门 - 传输线线路损耗和串扰仿真

下图中两相近传输线存在端口间的串扰,而同一根传输线存在线路损耗。 我们可用S21描述端口1到端口2的线路损耗(插损?),用S13描述近端串扰,S24描述远端串扰,串扰通常要求-20dB以下。 实验目的:传输线线路损耗和串扰仿真 具体步骤: 1.草图: 其中板厚Subh为1mm。其余参数具体值如下: 2.由草图作图: 其中介质板表面设为GND。 3.设置激励:先在第一根传输线相连的XZ平面上做一...

qq_37274411的博客 9161

JavaScript 含有暂停的倒计时

<script type="text/javascript" language="javascript"> var ZT; var boolStop = false; var maxtime = 2 * 60 * 60; LastTime(); function LastTime() { if (maxtime >= 0...

dlkfg0052的博客 310

利用ArcMap实现遥感图像语义分割标注的完整流程解析

本文详细解析了利用ArcMap进行遥感图像语义分割标注的完整工作流。从工程创建、数据导入、SHP文件创建,到实战勾画地物、要素转栅格,再到最终的裁剪对齐,提供了每一步的关键操作与避坑指南。该方法特别适合处理大尺寸、带地理坐标的遥感影像,能高效产出精准对齐的图像-标签对,为后续深度学习模型训练奠定可靠的数据基础。

gpu4optimizer的博客 1217

JavaScript实现计时器,一个按钮实现开始和停止的功能

var intervalId; var i = 0; var count=0; function startTime(){ var hour = document.getElementById("hour"); var minute = document.getElementById("minute"); var second = document.getElementById("se

qq_31187881的博客 1万+

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

【异常】OpenClaw提示Message ordering conflict - please try again. If this persists, use /new to start a fr

摘要:OpenClaw助手出现"Message ordering conflict"异常时,表明会话消息排序冲突,主要由消息队列时序错乱、会话同步异常或上下文过载引起。解决方案包括:1)基础重试暂停后单发指令;2)最优方案是发送/new重置会话;3)极端情况下需重启客户端或检查指令格式。预防建议包括避免高频并发指令、定期重置会话及确保网络稳定。该报错属业务层异常,不影响账号安全。

奶爸的编程之路,也就一周冷个三天 424

使用js完成一个60秒倒计时,点击停止时就显示倒计时三个字

废话不多说,直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc...

Wrj6811的博客 1963

基于高频变压器的隔离式推挽栅极驱动电路

摘要:本文介绍了一种基于高频变压器的隔离式推挽栅极驱动电路,通过变压器实现电气隔离,为功率MOS管提供可靠驱动信号。电路包含输入侧PWM信号处理、变压器磁耦合隔离传输以及副边驱动逻辑等关键部分,利用电阻电容网络控制开关速度并防止误触发。该隔离驱动方案广泛应用于高压开关电源、新能源汽车电机控制器、光伏逆变器和工业变频器等需要高电压隔离及抗干扰能力的电力电子设备中,有效保障系统安全性和可靠性。

qq_37999850的博客 487

html倒计时数字不显示,javascript实现数字倒计时特效

本文实例讲述了JS实现的网页倒计时数字时钟效果,分享给大家供大家参考,具体实现方法如下:效果图:javascript实现的倒计时时钟body,div{margin:0;padding:0;}body{color:#fff;font:16px/1.5 \5fae\8f6f\96c5\9ed1;}#countdown{width:300px;text-align:center;background:#...

weixin_35435768的博客 404

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

倒计时(未结束回到页面继续倒计时)

const countDownTimeoutIndex = React.useRef<any>(0) let seconds = 0 React.useEffect(() => { // 拿store里的倒计时结束时间,还没结束就继续倒数 const endTimeStr = Taro.getStorageSync('phone_verify_countdown') if (!endTimeStr) { return } ...

weixin_45626517的博客 645

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java倒计时 暂停 重置_js实现倒计时器自定义时间和暂停

js倒计时器可自定义时间和暂停,效果如下,点击start 开始计时,end结束计时分别复制 H5 css js 代码即可实现,具体的算法在js控制函数中(都写了注释)csshtml,body{width:100%;height:100%;}.content{height:100%;width:100%;}.row-center{display:flex;flex-direction:row;jus...

weixin_33357508的博客 603

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JS实现倒计时效果(自用1.0)

JS实现倒计时效果(自用1.0) HTML部分: <body> <div class="box"> <span>倒计时:</span> <span class="num">10</span><br /> <button class="btn">停止倒计时</button> <button class="go">继续倒计时</button> &lt

m0_57201523的博客 400

【js---vue】基于事件模式实现一个倒计时,可以监听倒计时的开始和停止,执行对应函数

一、效果: 二、js文件(倒计时js代码): export const CountdownEventName={//监听事件名称 START :'start', RUNNING :'running', STOP :'stop', } const CountdownStatus={//倒计时状态 RUNNING :'running', STOPED :'stoped' } export function fillZero(num) {//保证取两位数字,只有一位的话

冲冲冲 1119

JS实现倒计时,包含开始,停止;根据毫秒数和格式,返回毫秒数的时间日期;终止setInterval循环;兼容IE8,

用js实现一个倒计时,样式没有,是根据自己用的前端框架easyUI自己上的样式 /**是这两个变量设置成全局的,方便后面调用方法来暂停倒计时循环 * var sys_second; var end_time; * */ var sys_second; var end_time; var setTimeOut=function(munites){ var ddddd=new Date(

sinat_16741503的博客 1326

Javascript技巧之计时器和倒计时器

本文编写了一个javascript实现的计时器和倒计时器。1.计时器的范例代码计时器的范例var CallTimeLen = "0";var timer1 = null;function DoCallTimer(){    var minute="0";     var second="0";  CallTimeLen = parseInt(CallTimeLen)+1;  minute

技术无疆 3644

输入一个时间,然后开始倒计时

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&...

Wrj6811的博客 1527

js实现100秒倒计时和简易时钟

js实现100秒倒计时和简易时钟

m0_46666794的博客 581

倒计时(10秒)

10秒倒计时 //标题 <body> <button "start()">开始</button> //设置一个按钮来开始计时,加一个点击事件start()。 <button "stop()">停止计时</button> //设置一个按钮来停止计时,加一个点击事件stop()。 <p id="text">1...

qh19940911的博客 3023

JavaScript——案例(游戏中的倒计时、暂停和停止)

案例,游戏中的倒计时、暂停和停止

疯纸的博客 8650

js计时器,点击开始计时,再点击停止

点击倒计时开始,点击停止,再次点击又开始,再点停止... <i id="OneToOne_ShowWaitTime">39</i>秒 <em onclick="timeOpen();">开始</em> <em onclick="timeClose();">结束</em> ...

weixin_33989780的博客 873

使用html+css+js实现倒计时,开启你痛苦的倒计时吧

使用html+css+js实现倒计时,开启你痛苦的倒计时吧  使用html+css+js实现倒计时,开启你痛苦的倒计时吧   效果图:    这是我痛苦的倒计时,呜呜呜  好啦,再痛苦还是要分享代码,代码如下,复制即可使用: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; ...

qq_36190858的博客 2103
上一篇: js水平无缝滚动代码实例详解
下一篇: JavaScript仿新浪微博搜索框功能
Return_KB
博客等级 码龄9年 23粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值