function startMove(obj,json,fnEnd)
{
    clearInterval(obj.timer);//清除定时器
    obj.timer=setInterval(function(){
            var bStop=true;    //定义全部完成标志                   
            for(var attr in json) 
            {
                var curr='';
                if(attr=='opacity')    //运动如果是透明度
                {
                    curr=Math.round(parseFloat(_css(obj,'opacity'))*100);    
                }
                else                //其他运动情况
                {
                    curr =parseInt(_css(obj,attr));
                }
                
                //计算速度 基数为6,基数越大,速度越慢
                var speed =(json[attr]-curr)/10;    
                speed=speed>0?Math.ceil(speed):Math.floor(speed);            //速度:大于0的向上去整,小于0的向下取整
                if(curr!=json[attr])//有一项运动没有完成就为false
                {
                    bStop=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(bStop)
    {
        clearInterval(obj.timer);    
        if(fnEnd)    //如果有callback函数
        {
            fnEnd();    
        }
    }    
    },30);
}

 

posted on 2013-10-07 23:48  瑾秀年华  阅读(256)  评论(0)    收藏  举报