-
iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);//速度如果没有取整,会导致无法到达目标,一则占用资源,查看全部
-
缓动速度的计算:目标―当前/比例系数,可以得出速度的正负和速度的缓动,比例系数越大,速度越慢。 然后将速度进行取整处理,当速度为负数,向下取整,反之向上取整查看全部
-
运动框架实现思路查看全部
-
运动思路查看全部
-
使用定时器一定要先定义timer=null查看全部
-
透明度运动<br> 1、所有主流浏览器(IE,Firefox,Opera,Chrome,Safari)都支持opacity属性。<br> <br> 注意:IE8和早期版本支持另一种过滤器属性。像:filter:Alpha(opacity=100)<br> <br> 2、由于无法获取对象的透明度,所以可通过变量储存。(var alpha=初始值 alpha+=speed)<br> <script> var div1=document.getElementsByTagName("div")[0]; window.onload=function(){ var div1=document.getElementsByTagName("div")[0]; div1.onmouseover=function(){chang(100);} div1.onmouseout=function(){chang(30);} } var timer=null; var speed=30; function chang(a){ clearInterval(timer); var div1=document.getElementsByTagName("div")[0]; timer =setInterval(function(){ if(a<100){ if(speed==a){clearInterval(timer);} else{ speed=speed-10; } } else{ if(speed==100){clearInterval(timer);} else{ speed=speed+10; } } div1.style.opacity=speed/100; div1.style.filter=':alpha(opacity:'+speed+')'; },30); } </script>查看全部
-
6.同时运动查看全部
-
5.链式运动(一环扣一环)查看全部
-
4.任意值变化查看全部
-
运动框架实现思路: 1.速度 2.缓冲运动 3.多物体运动查看全部
-
模仿淘宝首页右侧小图标群的动画效果查看全部
-
for-in循环获得jason的对值查看全部
-
//最终封装的'完美移动框架' function startMove(obj,json,fn){ var flag=true;//标志所有运动是否到达目标值 clearInterval(obj.timer); obj.timer=setInterval(function(){ for(var attr in json){ var curr=0; //判断是否为透明度 if(attr=='opacity'){ curr=Math.round(parseFloat(getStyle(obj,attr))*100); }else{ curr=parseInt(getStyle(obj,attr)); } //移动速度处理 var speed=0; speed=(json[attr]-curr)/10; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(curr!=json[attr]){ flag=false; } if (attr=='opacity') { obj.style.filter='alpha(opacity:'+(curr+speed)+")"; obj.style.opacity=(curr+speed)/100; }else{ obj.style[attr]=curr+speed+'px'; } } if(flag){ clearInterval(obj.timer); if(fn){ fu(); } } },30); } //取样式 function getStyle(obj,attr){ if(obj.currentStyle){//IE取样式 return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }查看全部
-
getStyle()JS封装一个获取样式的方法,第一个判断是IE浏览器,else是火狐浏览器查看全部
-
获得样式的JS方法查看全部
举报
0/150
提交
取消