封装运动框架-纯js

来源:互联网 发布:sql入门经典第5版 编辑:程序博客网 时间:2024/05/17 23:36
//有改进版见另一篇

function startMove( obj,attr,iTarget ) {
 clearInterval( obj.timer );
 obj.timer = setInterval(function(){
  var iStyle = 0;
  if(attr == 'opacity') {
   iStyle = parseInt(parseFloat(getStyle(obj,'opacity'))*100);
  } else {
   iStyle = parseInt(getStyle(obj,attr));
  }
  var iSpeed = (iTarget - iStyle)/8;
  iSpeed = iSpeed>0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
  if(iStyle == iTarget) {
   clearInterval(obj.timer);
  } else {
   if(attr == 'opacity') {
    obj.style[attr] = (iStyle+iSpeed)/100;
    obj.style.filter = 'alpha(opacity:'+(iStyle+iSpeed)+')';
    document.getElementByIdx_x('text1').value = (iStyle+iSpeed)/100;
   } else {
    obj.style[attr] = iStyle + iSpeed +'px';
   }
   
  }
 }, 30);
}

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

原创粉丝点击