js中settimeout方法加参数的使用。
例子:
复制代码 代码示例:
<script type="text/
javascript">
function timedMsg()
{
var a ="dd";
var t=setTimeout(function(){ cao(a);},3000)
}
function cao(a)
{
alert(a);
}
</script>
</head>
<input type="button" value="显示定时的警告框" onClick = "timedMsg()">
问题:多个之间,只传回来最后一个:
复制代码 代码示例:
/* for (var i=0;i<points.length;i++){
AddGuiJi(points[i],value);
//var t=setTimeout(function(){ AddGuiJi(points[i],value);},2000*i)
} */
原因在于:time被触发执行时,i=4,所以虽然是多个但是总是最后一个。
解决办法
复制代码 代码示例:
var timerr;
function xunhuanlian(points,value){
if(replayi<points.length){
AddGuiJi(points[replayi],value);
replayi++;
timerr=setTimeout(function(){ xunhuanlian(points,value);},1000);
}
else{
replayi =0;
clearTimeout(timerr);
}
/* for (var i=0;i<points.length;i++){
AddGuiJi(points[i],value);
//var t=setTimeout(function(){ AddGuiJi(points[i],value);},2000*i)
} */
}