jquery定时器封装

前端开发很多时候都需要使用到定时器,定时器写法非常简单,只需要setTimeout()、clearTimeout()这两个方法就可以制作了。

定时器的停止时通过 由 setTimeout() 返回的 ID 值 进行取消,当页面有多个定时器时调用的又是同一个定时器方法就会存在定时器混乱,页面有多个定时器时停止定时器就是个难题,所以需要把定时器封装为一个方法,然后通过方法进行定时器的调用。


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-1.9.1.js" ></script>
		<script>
			
			$(function(){
				var timeww = new timerFun("#showTime");// 创建定时器对象 ,设置定时器显示位置
				$("#btnStart").click(function(){ //启用定时器
					timeww.startFun();//启用定时器
				})
				$("#btnStop").click(function(){
					timeww.stopFun();//停止器定时器
				})
				
				
			})
			/*定时器*/
			var timerFun = function(obj){
				var timer; //设置定时器变量
				var times = 0; //定时器时间,默认从0开始
				//调用定时器
				this.startFun = function(){
					timerStart();
				}
				//停止定时器
				this.stopFun = function(){
					timerEnd()
				}
				//开始定时器
				var timerStart = function(){
					times ++; //时间自动加1;
					$(obj).val(times);//修改定时器显示内容
					//if(times<num){ //当时间小于指定的时间就执行定时器,否则就清除定时器
						timer = setTimeout(function(){
							timerStart();//执行开始定时器方法
						},1000);
					//}else{
					//	timerEnd(); //结束定时器方法;
					//}
				}
				
				//结束定时器
				var timerEnd= function(){
					//times = 0; //恢复定时器时间为0,让定时器从0开始计算;
					clearTimeout(timer); //清除定时器
					//timerStart();//执行开始定时器方法
				}
			}
			
		</script>
	</head>
	<body>
		定时器:<input type="text" class="" id="showTime" />
		<input type="button" name="btnStart" id="btnStart" value="开始计时" />
		<input type="button" name="btnStop" id="btnStop" value="停止计时"/>
	</body>
</html>



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值