javascriptバッファ運動フレームの実現

1351 ワード

javascriptバッファ運動フレームの実現
フレームの使用は、私たちのコードの効率を大幅に向上させ、次にバッファ運動の枠組みを共有します.
インスタンスコード:

/**
 * Created by wang on 2016/8/3.
 */

//            
function getStyle(obj,name) {
  if(obj.currentStyle){
    return obj.currentStyle[name];
  }
  else {
    return getComputedStyle(obj,false)[name];
  }
}
//            

//      
var timer=null;
function startMove(obj,attr,iTarget) {
  clearInterval(obj.timer);
  obj.timer=setInterval(function () {
    var cur=0;

    if(attr=='opacity'){
      cur=Math.round(parseFloat(getStyle(obj,attr))*100);
    }
    else {
      cur=parseInt(getStyle(obj,attr));
    }
    var speed=(iTarget-cur)/6;
    speed=speed>0?Math.ceil(speed):Math.floor(speed);
    if(cur==iTarget){
      clearInterval(timer);
    }
    else {
      if(attr=='opacity'){
        obj.style.filter='alpha(opcity:'+(cur+speed)+')';
        obj.style.opacity=(cur+speed)/100;
      }
      else {
        obj.style[attr]=cur+speed+'px';
      }
    }
  },30)
}
//      


疑問があれば、メッセージをお願いします.あるいは、当駅のコミュニティで交流して討論してください.ありがとうございます.