jQuery做一个计时器

一、功能介绍
1、该计时器有四个功能,开始,计时,暂停,重置
2、每隔一秒计时框字体会变色
3、代码也比较简单,下面先看效果
在这里插入图片描述
二、下面直接看代码:
1、html代码:

	<body>

		<div id="showTime"></div>
		<div id="button">
			<input type="button" value="开始" id="begin" />
			<input type="button" value="计时" id="timer" />
			<input type="button" value="暂停" id="pause" />
			<input type="button" value="重置" id="reset" />
		</div>
		<div id="showTimer">
			<span></span>
		</div>

2、css样式:

<style type="text/css">
			#showTime {
				width: 250px;
				height: 50px;
				border: 1px solid aqua;
				font-size: 38px;
				text-align: center;
				margin: 0px auto;
				line-height: 50px;
				background-color: rgb(0, 0, 0);
				color: white;
				border-radius: 20px;
			}
			
			#button {
				width: 265px;
				height: 50px;
				line-height: 40px;
				text-align: center;
				margin: 0px auto;
			}
			
			input {
				margin: 2px;
				font-size: 20px;
				background-color: #7FFFD4;
				border: 0px;
			}
			
			#showTimer {
				width: 178px;
				height: auto;
				line-height: 20px;
				text-align: center;
				margin: 0px auto;
				border: 1px solid aquamarine;
				border-radius: 10px;
				word-break: break-all;
				word-wrap: break-word;
				font-size: 18px;
			}
		</style>

3、下面就是重要的js代码了
a、首先先设置时间的格式

<script type="text/javascript">
			var hour = 0;//小时
			var minute = 0;//分钟
			var second = 0;//秒
			var millisecond = 0;//毫秒
			var nowTime; //定义定时器对象(开始)
			var i = 0;//当按下计时按钮时i自增(名次)

			//设置时间格式
			function time() {
				millisecond++;
				if(millisecond >= 100) {
					millisecond = 0;
					second++;
				}
				if(second >= 60) {
					second = 0;
					minute++;
				}
				if(minute >= 60) {
					minute = 0;
					hour++;
				}
				if(hour >= 24) {
					hour = 0;
				}
				$("#showTime").text((hour < 10 ? ("0" + hour) : hour) + ":" + (minute < 10 ? ("0" + minute) : minute) + ":" + (second < 10 ? ("0" + second) : second) + ":" + (millisecond < 10 ? ("0" + millisecond) : millisecond));
			}

b、然后就有意思了,设置时间的字体颜色

//改变计时框时间的字体颜色
			function color() {
				setInterval(function() {
					var cl1 = (Math.random() * 200) + 50; //随机获取rgb的第一个数
					var cl2 = (Math.random() * 200) + 50; //随机获取rgb的第二个数
					var cl3 = (Math.random() * 200) + 50; //随机获取rgb的第三个数
					var showTime = document.querySelector("#showTime");//获取时间框的选择器(querySelector)
					showTime.style.color = "rgb(" + cl1 + ',' + cl2 + ',' + cl3 + ")";//设置字体颜色的rgb
				}, 1000);
			}

c、设置每个按钮的功能,然后调用函数,执行每个按钮的功能

//开始按钮 函数
			function begin() {
				//当按下开始按钮时,如果nowTime未定义,则开始计时,否则弹窗提示
				if(nowTime != undefined) {
					alert("已经开启!");
				} else {
					nowTime = setInterval(function() {
						time();
					}, 10);
				}
			}

			//暂停按钮 函数
			function pause() {
				window.clearInterval(nowTime); //清除计时器函数
				nowTime = undefined;
			}

			//重置按钮 函数
			function reset() {
				window.clearInterval(nowTime); //清除计时器方法
				hour = minute = second = millisecond = 0;//时间都清0
				$("#showTime").text("00:" + "00:" + "00:" + "00");//计时框时间都清0
				$("span").text("");//记录时间的框都清空
				i = 0;//让i=0
				nowTime = undefined;//计时器函数值等于undefined
			}

			$(function() {
				//设置计时器框的初始时间
				$("#showTime").text("00:" + "00:" + "00:" + "00");
				//开始按钮点击事件
				$("#begin").on("click", function() {
					color();
					begin();
				});
				//暂停按钮点击事件
				$("#pause").on("click", function() {
					pause();
				});
				//重置按钮点击事件,当点击重置按钮时,所有数据全部清空
				$("#reset").on("click", function() {
					reset();
				});
				//给计时按钮设置点击事件
				$("#timer").on("click", function() {
					i++; //当计时按钮点击时,i自增
					var timer = "第" + i + "名:" + $("#showTime").text(); //获取当前计时框的数据,并加一个名次
					$("span").text($("span").text() + timer); //把获取的时间放到span标签里面,并累加
				});
			});
		</script>
	</body>

三、最后,一个简单地计时器就完成了,快动手试试吧
扫描下面二维码关注微信公众号 回复:js1030 领取原代码地址
在这里插入图片描述
持续关注我,不定时更新,谢谢浏览----

发布了36 篇原创文章 · 获赞 7 · 访问量 2083

猜你喜欢

转载自blog.csdn.net/q_2540638774/article/details/102825270
今日推荐