jQuery做一个计时器

mac2024-02-22  45

一、功能介绍 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 领取原代码地址 持续关注我,不定时更新,谢谢浏览----

最新回复(0)