码迷,mamicode.com
首页 > 编程语言 > 详细

多物体运动JavaScript函数封装

时间:2017-10-28 23:55:35      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:turn   最好   interval   art   有一个   attr   效果   etc   getc   

function startMove(obj, json, func){
  clearInterval(obj.timer);
  obj.timer = setInterval(function(){

    var bStop = true;

    //取出该属性的初值
    for(var attr in json){
      var iCur = 0;
      if(attr == "opacity"){
        iCur = parseFloat(getStyle(obj, attr)) * 100;
      }else{
        iCur = parseInt(getStyle(obj, attr))
      }
      var speed = (json[attr] - iCur) / 8;  //8 缩放系数,缓冲运动效果最好的缩放系数
      speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);

      //只要有一个值未达到指定值程序就不能继续执行
      if(iCur != json[attr]){
        bStop = false;
      }
      if(attr == "opacity"){
        obj.style.filter = "alpha(opacity: " + (iCur + speed) + ")";
        obj.style.opacity = (iCur + speed) / 100;
      }else{
        obj.style[attr] = iCur + speed + "px";
      }
    }
    if(bStop){
      clearInterval(obj.timer);
      if(func){
        func();
      }
    }
  }, 30);
}

//获取非行间样式
function getStyle(obj, attr){
  if(obj.currentStyle){
    return obj.currentStyle[attr];  //IE9 以下
  }else{
    return getComputedStyle(obj)[attr];  //IE9 及标准浏览器
  }
}

多物体运动JavaScript函数封装

标签:turn   最好   interval   art   有一个   attr   效果   etc   getc   

原文地址:http://www.cnblogs.com/paul0705/p/7748542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!