码迷,mamicode.com
首页 > 其他好文 > 详细

完美运动框架

时间:2015-05-01 07:01:22      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

运动框架演变过程
startMove(iTarget)  运动框架
startMove(obj, iTarget)    多物体
startMove(obj, attr, iTarget)    任意值
startMove(obj, attr, iTarget, fn)    链式运动
startMove(obj, json)    多值运动
startMove(obj, json, fn)    完美运动框架
function getStyle(obj, name)
{
    if(obj.currentStyle)
    {
        return obj.currentStyle[name];
    }
    else
    {
        return getComputedStyle(obj, false)[name];
    }
}


//startMove(oDiv, {width: 400, height: 400})


function startMove(obj, json, fnEnd)
{
    clearInterval(obj.timer);
    obj.timer=setInterval(function (){
        var bStop=true;        //假设:所有值都已经到了
        
        for(var attr in json)
        {
            var cur=0;
            
            if(attr==‘opacity‘)
            {
                cur=Math.round(parseFloat(getStyle(obj, attr))*100);
            }
            else
            {
                cur=parseInt(getStyle(obj, attr));
            }
            
            var speed=(json[attr]-cur)/6;
            speed=speed>0?Math.ceil(speed):Math.floor(speed);
            
            if(cur!=json[attr])
                bStop=false;
            
            if(attr==‘opacity‘)
            {
                obj.style.filter=‘alpha(opacity:‘+(cur+speed)+‘)‘;
                obj.style.opacity=(cur+speed)/100;
            }
            else
            {
                obj.style[attr]=cur+speed+‘px‘;
            }
        }
        
        if(bStop)
        {
            clearInterval(obj.timer);
                        
            if(fnEnd)fnEnd();
        }
    }, 30);
}

 

完美运动框架

标签:

原文地址:http://www.cnblogs.com/liujin0505/p/4470200.html

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