js实现定时器

news2025/3/12 13:47:58

在这里插入图片描述
用原生js实现一个倒计时效果.最下面有全部源码,需要自取

js语法:
setTimeout:定时器
document.getElementById:Document的方法 getElementById()返回一个匹配特定 ID的元素。由于元素的 ID 在大部分情况下要求是独一无二的,这个方法自然而然地成为了一个高效查找特定元素的方法。
remove():可以根据Id来移除该元素.
insertAdjactHTM():js中增加HTML元素.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<button id="btn" onclick="startTimer()">开始计时</button>
		<button id="closebtn" onclick="closebtn()">取消计时</button>
		<div id="one">

		</div>
		<script>
			let minutes = 59
			let seconds = 59
			let isShow = true
			function startTimer() {
				setTimeout(() => {
					if (isShow) {
						if (seconds > 0) {
							seconds -= 1;
						} else if (minutes > 0) {
							minutes -= 1;
							seconds = 59;
						} else {
							clearTimeout(timer); // 取消计时器
						}
						ShowTime();
						if (minutes === 0 && seconds === 0) {
							console.log("计时结束");
						} else {
							startTimer(); // 继续计时
						}
					}
				}, 1000);
			}

			function ShowTime() {
				const son=document.getElementById('a');
				const parent=document.getElementById('one')
				if (son) {
					son.remove()
				}
				if (minutes < 10 && seconds < 10) {
					parent.insertAdjacentHTML('afterend', "<div id='a'>0" + minutes + ":" + "0" +
						seconds + "</div>")
				} else if (minutes < 10 && seconds >= 10) {
					parent.insertAdjacentHTML('afterend', "<div id='a'>0" + minutes + ":" + seconds +
						"</div>")
				} else if (minutes >= 10 && seconds < 10) {
					parent.insertAdjacentHTML('afterend', "<div id='a'>" + minutes + ":" + "0" +
						seconds + "</div>")
				} else {
					parent.insertAdjacentHTML('afterend', "<div id='a'>" + minutes + ":" + seconds +
						"</div>")
				}

			}

			function closebtn() {
				isShow = false
			}
			ShowTime()
		</script>
	</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/917054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三篇:对话框窗口部件 QDialog

对话框窗口部件 QDialog 对话框&#xff08;Dialog&#xff09;是计算机图形用户界面&#xff08;GUI&#xff09;中的一种常见窗口类型&#xff0c;通常用于与用户进行交互、获取信息、提供反馈或执行特定任务。对话框的主要目的是与用户进行短期的、有限的交互&#xff0c;以…

【校招VIP】产品职位理解之团队的配合和推进

考点介绍&#xff1a; 对于简历上有实习经验的同学&#xff0c;对于团队配合和项目推进是一个非常常见的提问点。产品经理经常会面临项目延期&#xff0c;无法上线的情况。基于此&#xff0c;产品经理应该做些什么来保障项目按时上线呢&#xff1f; 『产品职位理解之团队的配合…

THUHCSI人机语音交互实验室9篇论文被语音旗舰国际会议INTERSPEECH录用

2023年ISCA国际语音通讯学会年会&#xff08;2023 Annual Conference of the International Speech Communication Association, INTERSPEECH 2023&#xff09;将于2023年8月20日-24日在爱尔兰都柏林召开&#xff0c;清华大学人机语音交互实验室&#xff08;THUHCSI&#xff09…

视频监控平台EasyCVR视频汇聚平台档案库房图书馆等可视化管理平台应用场景全面解析

档案是一种特殊的记录留存文献&#xff0c;具有珍贵的精神财富价值。它们是人类活动的真实见证&#xff0c;是辉煌时刻的历史记录&#xff0c;在社会发展和经济建设中发挥着至关重要的作用。 随着市场经济的不断发展和人类文明的飞速推进&#xff0c;档案的价值和作用变得越来…

【广州华锐互动】VR工厂消防安全演习提供了一种全新、生动的安全教育方式

在工业生产环境中&#xff0c;安全永远是首要的考虑因素。近年来&#xff0c;随着科技的发展&#xff0c;虚拟现实(VR)技术在各种领域的应用越来越广泛&#xff0c;包括教育和培训。其中&#xff0c;VR工厂消防安全演习就是一个典型的例子&#xff0c;它为员工提供了一种全新的…

msvcr120.dll丢失的解决方法,win10系统dll报错解决方法

今天&#xff0c;我将和大家分享一个在win10系统中经常遇到的问题&#xff1a;msvcr120.dll丢失。相信很多朋友在使用电脑的过程中都会遇到这个问题&#xff0c;那么如何解决呢&#xff1f;接下来&#xff0c;就让我为大家详细讲解一下解决方法。 首先&#xff0c;我们来了解一…

基于Spark+django的国漫推荐系统--计算机毕业设计项目

近年来&#xff0c;随着互联网的蓬勃发展&#xff0c;企事业单位对信息的管理提出了更高的要求。以传统的管理方式已无法满足现代人们的需求。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;随着各行业的不断发展&#xff0c;基…

pdf怎么转换成图片?用这几种简单方法搞定

pdf怎么转换成图片&#xff1f;PDF作为一种通用的文档格式&#xff0c;广泛应用于各个领域。然而&#xff0c;在某些情况下&#xff0c;我们可能需要将PDF文件转换成图片格式&#xff0c;以便更方便地在网页、社交媒体或演示中使用。下面就给大家介绍三种简单而高效的方法来实现…

基于swing的旅游管理系统java jsp旅行团信息mysql源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于swing的旅游管理系统 系统有1权限&#xff1a;管…

【Win】Dell Command PowerShell Provider 一款强大的IT工具

Dell Command | PowerShell Provider 是一款强大的IT工具&#xff0c;它允许用户通过 Windows PowerShell 界面轻松管理 Dell 硬件平台的 BIOS 配置。它提供了一系列的 PowerShell cmdlets命令&#xff0c;这些命令可以帮助 IT 管理员对 Dell 硬件平台进行 BIOS 配置的控制和管…

【ES6】—【必备知识】—扩展运算符与rest参数

一、扩展运算符 1. 定义&#xff1a;把数组或类数组展开成用逗号隔开的值 function foo(a,b,c) {console.log(a,b,c) } let arr [1,2,3] foo(...arr)2. 把两个数组合并 2-1. ES5 实现 let arr1 [1,2,3] let arr2 [4,5,6] Array.prototype.push.apply(arr1, arr2) consol…

【PHP】文件包含-includerequire

文章目录 文件包含意义&#xff1a;四种形式文件加载原理include和require的区别文件的加载路径文件嵌套包含 文件包含 文件包含&#xff1a;在一个PHP脚本中&#xff0c;去将另外一个文件&#xff08;PHP&#xff09;包含进来&#xff0c;去合作完成一件事情。 意义&#xf…

sql递归查询

一、postgresql 递归sql with recursive p as(select t1.* from t_org_test t1 where t1.id2union allselect t2.*from t_org_test t2 join p on t2.parent_idp.id) select id,name,parent_id from p; sql中with xxxx as () 是对一个查询子句做别名&#xff0c;同时数据库会对…

【计算机视觉】递归神经网络在图像超分的应用Deep Recursive Residual Network for Image Super Resolution

DRCN: Deeply-Recursive Convolutional Network for Image Super-Resolution 总结 这篇文章是第一次将之前已有的递归神经网络(Recursive Neural Network)结构应用在图像超分辨率上。为了增加网络的感受野&#xff0c;提高网络性能&#xff0c;引入了深度递归神经网络&#x…

Unity脚本常用生命周期

Unity脚本在Unity引擎运行时会经历多个阶段的变化。如创建&#xff0c;初始化&#xff0c;按帧执行&#xff0c;固定执行&#xff0c;绘制&#xff0c;禁用&#xff0c;销毁等等。具体如下图所示&#xff1a; 我们创建脚本时都是默认继承了MonoBehaviour类&#xff0c;而MonoBe…

【文心一言】如何申请获得体验资格,并简单使用它的强大功能

目录 一、文心一言1.1、它能做什么1.2、技术特点1.3、申请方法 二、功能体验2.1、文心一言2.2、写冒泡排序代码 测试代码2.3、画一个爱心2.4、画一个星空 三、申请和通过3.1、申请时间3.2、通过时间 文心一言&#xff0c;国内首个大型人工智能对话模型&#xff0c;发布已经快一…

直播APP开发,协议盘点(五):实时传输协议RTP

简介&#xff1a; 在直播APP开发的过程中&#xff0c;搭建协议实现相应的功能是开发重点之一&#xff0c;而直播APP开发的协议是繁多且复杂的&#xff0c;所以从前段时间开始&#xff0c;我做了直播开发的协议篇&#xff0c;到今天为止我已经分享了四个协议&#xff0c;下面我为…

3DXML在线查看与转换工具

3DXML 由软件巨头达索系统推出&#xff0c;是 3D 设计和工程中的关键文件格式&#xff0c;提供了封装和共享 3D 数据的系统方法。 为了将简单性与丰富的数据表示相结合&#xff0c;3DXML 在与 STEP 等其他文件格式相比时展现出其独特的优势&#xff0c;特别是在数据丰富性和紧凑…

【已解决】Authenticator:无法添加账户请验证激活代码是否正确以及您的设备是否已为此应用启用推送通知

问题&#xff1a; 小米手机的Authenticator添加微软账户扫描QR码提示&#xff1a;无法添加账户请验证激活代码是否正确以及您的设备是否已为此应用启用推送通知 解决办法&#xff1a; 1、在通知管理中允许Authenticator所有通知。 2、在手机设置-账户与同步里找到谷歌基础服…

基于SSM的bbs聊天论坛java jsp贴吧留言板聊天室mysql源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于SSM的bbs聊天论坛 系统有2权限&#xff1a;前台、…