js SetTimeout传参问题

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

 1 <!--JS方法-->
 2 function textout(obj){
 3     if(opac==60){opac=0;return;};
 4     opac+=10;
 5     if(document.all){
 6         obj.style.filter="alpha(opacity="+opac+")";
 7     }
 8     else {obj.style.opacity=(opac/100);}
 9     setTimeout('textout('+obj+')',200);
10 }
11 
12 <!--html-->
13 <span  onMouseOver="textout(this)">阿斯达</span>

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

后来我改成了这样

setTimeout(textout(obj),200);

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

 

 

继续改

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

这样就成功了。

你可能感兴趣的:(settimeout)