为了账号安全,请及时绑定邮箱和手机立即绑定

提示我TypeError: obj is undefined错误

今天按照老师讲的代码敲的时候遇到了一个问题,请大神们帮忙解答一下,谢谢各位

window.onload = function(){

var Li1 = document.getElementById('li1');

var Li2 = document.getElementById('li2');

Li1.onmouseover = function(){

startMove(this,'opacity',100);

}

Li1.onmouseout = function(){

startMove(this,'opacity',30);

}

}

function getStyle(obj,attr){

if(obj.currentStyle){

return obj.currentStyle[attr];

}

else{

return getComputedStyle(obj,false)[attr];

}

}

var alpha = 30;

function startMove(obj,attr,iTarget){

clearInterval(obj.timer);

obj.timer = setInterval(function(){

var icur = 0;

if(attr == 'opacity'){

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

}

else{

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

}

var speed = (iTarget - icur)/8;

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

if(icur == iTarget){

clearInterval(obj.timer);

}

else{

if(attr == 'opacity'){

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

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

}

else{

obj.style[attr] = icur + speed +'px';

}

}

},30);

}

http://img1.sycdn.imooc.com//5811c73c0001579614070074.jpg

正在回答

2 回答

startMove方法 里面的parseFolat里面的getStyle里面的“,”写错了,你写成了“.”

0 回复 有任何疑惑可以回复我~
#1

Abreto 提问者

非常感谢!
2016-10-28 回复 有任何疑惑可以回复我~
#2

JettZed 回复 Abreto 提问者

小事啦 一起学习
2016-10-28 回复 有任何疑惑可以回复我~

同学,你看看第28行给getStyle传的参数对不对啊。我把你上面的代码粘下来,你自己再好好看看。

if(attr == 'opacity'){			
    icur = parseFloat(getStyle(obj.attr))*100;
}


1 回复 有任何疑惑可以回复我~
#1

Abreto 提问者

知道了~谢谢啦~~~就是逗号写成了点
2016-10-28 回复 有任何疑惑可以回复我~
#2

笛子 回复 Abreto 提问者

一般的,如果代码出现非常庞大的错误量,都是因为一些像是逗号写成句号,少写了一个分号,少写了一个break这样的非常小的问题造成的。这时候查代码不要只从逻辑上查代码,而是要更注意检查前面说的这些细节。这是我的工作经验,你也可以用用看。
2016-10-30 回复 有任何疑惑可以回复我~
#3

Abreto 提问者 回复 笛子

明白了~~非常感谢~~~
2016-11-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

提示我TypeError: obj is undefined错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信