为什么CHROME报错说Uncaught TypeError: Cannot read property 'currentStyle' of undefined

来源:6-2 完美运动框架

Redchan

2016-04-19 09:21

function getStyle(obj,attr) {

if (obj.currentStyle) {

return obj.currentStyle[attr];

}

else{

return getComputedStyle(obj,false)[attr];

    }

}


function startMove(obj,json,fn) {

var flag = true ; 

clearInterval(obj.timer);

obj.timer=setInterval(function () {

for(var attr in json) {

//取当前值

var icur = 0;

if(attr=='opacity') {

icur=Math.round(parseFloat(getStyle(obj,attr))*100);

}

else{

icur=parseInt(getStyle(obj.attr));

}

//计算速度

var ispeed=(json[attr]-icur)/8;

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

//检测停止

if(icur!=json[attr]) {

flag=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(flag){

            clearInterval(obj.timer);

            if(fn){

            fn();

            }

            }

},30);

}


写回答 关注

1回答

  • 周龙帆
    2016-04-20 01:07:51
    已采纳

    不知道,我有没有看错;

    obj.attr 而不是obj, attr; 

    逗号;

    一个传参数,一个查属性


    Redcha...

    非常感谢!

    2016-04-20 19:57:21

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题