js SetTimeout传参问题

时间:2023-03-09 00:35:23
js SetTimeout传参问题

今天写代码遇到这样一个问题,先上代码

 <!--JS方法-->
function textout(obj){
if(opac==60){opac=0;return;};
opac+=10;
if(document.all){
obj.style.filter="alpha(opacity="+opac+")";
}
else {obj.style.opacity=(opac/100);}
setTimeout('textout('+obj+')',200);
} <!--html-->
<span onMouseOver="textout(this)">阿斯达</span>

setTimeout调用没有执行,因为这里的参数必须是字符串,而我的是html对象。

后来我改成了这样

setTimeout(textout(obj),200);

好吧,执行了,但是又发现一个问题,延迟效果失效了。。看来还是有问题。

继续改

setTimeout(function(){textout(obj)},200);    

这样就成功了。