• javascript 完美运动框架


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

    function startMove(obj,json,fn){
        clearInterval(obj.timer);
        obj.timer = setInterval(function(){
            var bStop=true; //这一次运动就结束了,所有值都到达了。
            for(var attr in json){

                //1.取当前的值
                var iCur=0;
                if(attr == 'opacity'){
                    iCur=parseInt(parseFloat(getStyle(obj,attr))*100);
                } else{
                    iCur=parseInt(getStyle(obj,attr));
                }

                //2.算速度
                var iSpeed=(json[attr]-iCur)/8;
                iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);

                //3.检测停止
                if(iCur!=json[attr]){
                    bStop=false;
                }

                if(attr=='opacity'){
                    obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';
                    obj.style.opacity=(iCur+iSpeed)/100;
                } else{
                    obj.style[attr]=iCur+iSpeed+'px';
                }
            }

            if(bStop){
                clearInterval(obj.timer);
                if(fn){
                    fn();
                }
            }
        },30)
    }


    /*
    调用
    window.onload=function(){
        var oDiv=document.getElementByIdx_x('div1');
        oDiv.onmouseover=function(){
            startMove(oDiv, { 102, height: 200, opacity: 100});
        }
        oDiv.onmouseout=function(){
            startMove(oDiv, { 100, height: 100, opacity: 30});
        }    
    };
     */

  • 相关阅读:
    敏捷之一:以终为始
    Rails non browser app高级篇-capistrano/daemon部署
    ios 5下设置屏幕方向为landscape
    Android敏捷开发实践(连载)
    Rails+Mongodb的一个重要技巧:如何得到last N Records?
    在macos x上 编译jzmq 3.x
    计划缓冲区
    转载程序员的十层楼
    特权账户是什么?
    如何管理公司的共享iPad?
  • 原文地址:https://www.cnblogs.com/qibingshen/p/5257506.html
Copyright © 2020-2023  润新知