定时器的小知识点

开启一个定时器:

var timer=setInterval(function(){

},1000);

关闭定时器:

clearInterval(timer);

定义一个变量,用来保存定时器的标识

var timer;

关闭之前开启的定时器,防止多次点击,持续开启定时器

clearInterval(timer);

获取样式:getComputedStyle()火狐中可以运行

首先是有两个参数,元素和伪类。
第二个参数不是必须的,当不查询伪类元素的时候可以忽略或者传入 null。 
var oldValue=getComputedStyle(document.getElementById("box1"),null).left;
oldValue=parseInt(oldValue);
					

传建一个可以执行简单动画的函数:

/*
				 * 参数
				 * obj:对象
				 * attr:对象的样式(width、height、top)
				 * target:停止的目标位置
				 * speed:速度
				 */
				function move(obj,target,speed){
					clearInterval(obj.timer);
					
					//获取元素目前的位置
					var current=parseInt( getComputedStyle(document.getElementById("box1"),null).left);
					if(current > target){
						speed=-speed;
					};
					//开启一个定时器,执行动画效果
					
					//向执行动画的属性中添加一个timer属性,用来保存它自己的定时器标识
					obj.timer=setInterval(function(){
						var oldValue=getComputedStyle(document.getElementById("box1"),null).left;
						oldValue=parseInt(oldValue);
						//火狐中可以运行
					//在旧值的基础上增加
					    var newValue=oldValue+speed;					
					    //将新值设置给box1
					    if(speed<0 && newValue<target||speed>0 && newValue>target){
					    	newValue=target;
					    }
					    obj.style.left=newValue+"px";
					    
					    //关闭定时器
					    if(newValue==target){
					    	clearInterval(obj.timer);
					    };
					},30);
				};
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值