• JavaScript 智能社 完美运动框架


     简约版:

    function getStyle(obj, name)
    {
        if(obj.currentStyle)
        {
            return obj.currentStyle[name];
        }
        else
        {
            return getComputedStyle(obj, false)[name];
        }
    }
    
    function startMove(obj, attr, iTarget, fnEnd)
    {
        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(obj.timer);
                
                if(fnEnd)fnEnd();
            }
            else
            {
                if(attr=='opacity')
                {
                    obj.style.filter='alpha(opacity:'+(cur+speed)+')';
                    obj.style.opacity=(cur+speed)/100;
                }
                else
                {
                    obj.style[attr]=cur+speed+'px';
                }
            }
        }, 30);
    }

    完整版:

    function getStyle(obj, name)
    {
        if(obj.currentStyle)
        {
            return obj.currentStyle[name];
        }
        else
        {
            return getComputedStyle(obj, false)[name];
        }
    }
    
    
    //startMove(oDiv, { 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);
    }
  • 相关阅读:
    ableview中,如何加载自定义cell? 如何改变选中某一行的颜色(或不显示颜色)
    NSRunLoop
    知识点
    类别、延展、继承
    换个地方,说点儿真话,谈点儿人生中的循环定理
    ios-UIViewController的生命周期
    ios-UIView的一些常用的方法
    ios-Frame和bounds的区别
    ios-AppDelegate常用的方法
    ios取沙盒(sandbox)中的路径
  • 原文地址:https://www.cnblogs.com/zapple/p/5866193.html
Copyright © 2020-2023  润新知