move.js

来源:互联网 发布:批处理 软件静默卸载 编辑:程序博客网 时间:2024/06/06 17:27
function getStyle(obj,name){   if(obj.currentStyle){      return obj.currentStyle[name];   }else{      return getComputedStyle(obj,false)[name];     }}function move(obj,json,options){   options=options||{};   options.duration=options.duration||700;   options.easing=options.easing||'ease-in';      var count=Math.floor(options.duration/30);      var start={};   var dis={};   for(var name in json){      //name  = 名称      //json[name]= 值            start[name]=parseFloat(getStyle(obj,name));            dis[name]=json[name]-start[name];         }   var n=0;   clearInterval(obj.timer);   obj.timer=setInterval(function(){      n++;      //var cur=start+dis*n/count;            for(var name in json){                  switch(options.easing){            case 'linear':               var cur=start[name]+dis[name]*n/count;            break;            case 'ease-in':               var a=Math.pow(n/count,3);               var cur=start[name]+dis[name]*a;            break;             case 'ease-out':               var a=Math.pow(1-n/count,3);               var cur=start[name]+dis[name]*(1-a);            break;         }                  if(name=='opacity'){            obj.style[name]=cur;            obj.style.filter='alpha(opacity:'+(cur*100)+')';            }else{            obj.style[name]=cur+'px';              }                  }            if(n==count){         clearInterval(obj.timer);                  options.complete&&options.complete();      }         },30);}
0 0
原创粉丝点击