use*_*481 2 html javascript iphone
谁能告诉我为什么这不起作用?
function changeBG(element_id){
document.getElementById(element_id).className= "arrowActive";
setTimeout("document.getElementById("+element_id+").className= 'arrow'", 300);
}
Run Code Online (Sandbox Code Playgroud)
在firebug中,我得到一个错误,说明传递给setTimeout()的element_id没有定义.
变量element_id将是一个字符串,因此您的超时代码如下所示:
document.getElementById(myId).className = ...
Run Code Online (Sandbox Code Playgroud)
请注意myId应该在引号中,但事实并非如此.
更好的方法是使用闭包,如下所示:
function changeBG(element_id)
{
var elm = document.getElementById(element_id);
elm.className = "arrowActive";
setTimeout(function() { elm.className= 'arrow'; }, 300);
}
Run Code Online (Sandbox Code Playgroud)
应该注意的是,不建议将代码传递给字符串.
| 归档时间: |
|
| 查看次数: |
1299 次 |
| 最近记录: |