摘要:
如图,有五个元素,给他们都加上运动效果。实现原理,就是在调用的时候,给这五个元素,循环加上事件。需要注意的是,每个元素的定时器需要分开。要点一:var speed = (target - obj.offsetWidth)/8; 缓冲运动效果,一开始速度很快,然后越来越慢,直到停止 speed = speed>0?Math.ceil(speed):Math.floor(speed); 如果速度大于0,则向上取整,如果速度小于0,则向下取整。要点二:if(obj.offsetWidth == target){ clearInterval(obj.timer); }else{ obj.styl 阅读全文
posted @ 2012-03-11 22:50
jingangel
阅读(434)
评论(0)
推荐(0)
摘要:
如图,一开始元素的透明度是30,鼠标移上的时候,透明度慢慢增加,到透明度100停止。鼠标移出,透明度慢慢减少,减少到30.要点一:因为无法直接获取和改变透明度的值,可以把透明度值赋给一个变量,让变量变化,最后把变量的值再赋给元素的透明值。var alpha=30;要点二:判断目标值和目前透明值,来判定是正向速度还是负向速度。if(target > alpha){ speed = 2; }else{ speed = -2; } 要点三:如果透明值达到目标值,关掉定时器,否则透明值继续变化。最后把值赋给元素,因为透明度有兼容问题,所以要写上两个写法。 if(alpha == target){ 阅读全文
posted @ 2012-03-11 21:45
jingangel
阅读(17626)
评论(0)
推荐(0)
摘要:
如下图,点击向右,方块向右移动,点击向左,方块向左移动。可以用setInterval来实现过多长时间,div移动多长的距离来实现运动效果。要点一:如果元素的左边距离小于目标距离,则是正向移动,否则是负向移动if(run.offsetLeft <target){speed = 2;}else{speed = -2;}要点二:如果元素的左边距离等于目标距离,停止定时器,否则,元素的左边距离等于现在的左边距离加上速度值。if(run.offsetLeft ==target){clearInterval(timer);}else{run.style.left = run.offsetLeft + 阅读全文
posted @ 2012-03-11 21:26
jingangel
阅读(1568)
评论(0)
推荐(0)

浙公网安备 33010602011771号