问答详情
源自:7-1 JS动画案例

Js动画效果案例

我写的鼠标移入,就不能回来了!加了直接定值30px,也没有出现,感觉乱了!能看看代码吗?

提问者:HJTxyr 2015-11-15 10:25

个回答

  • jokec
    2015-11-27 17:00:14

    function startMove(obj,json,fn){

    var frag=true;

    clearInterval(obj.timer);

    obj.timer=setInterval(function(){

    for(var att in json){

    var wid=0;

    //判断是否为设置透明度属性

    if (att=='opacity') {

    wid=Math.round(parseFloat(getStyle(obj,att))*100);

    }else{

    wid=parseInt(getStyle(obj,att));

    }  

    var speed=(json[att]-wid)/8;

    speed=speed>0?Math.ceil(speed):Math.floor(speed);

    if (json[att]!=wid) {

    frag=false;

    }


    if (att=='opacity') {

    obj.style.filter='alpha(opacity:'+(wid+speed)+')';

    obj.style.opacity=(wid+speed)/100;

    } else {

    obj.style[att]=wid+speed+'px';

    }

    }

    if (frag) {

    clearInterval(obj.timer);

    if (fn) {

    fn();

    }

    }

    },30);

    }

    //获取obj的属性方法,兼容浏览器

    function getStyle(obj,att){

    if (obj.currentStyle) {

    return obj.currentStyle[att];

    }else{

    return getComputedStyle(obj,false)[att];

    }

    }