我想javasript暂停一个函数。

track.DrawLine(new Map.LonLat(temp.lonlat.x,temp.lonlat.y),new KbMap.LonLat(last.lonlat.x,last.lonlat.y),50000);

我想让下面的函数暂停50000执行。
track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd");//定点下一个坐标,循环,使得其暂停一段时间按执行
[b]问题补充:[/b]
楼下的方法我尝试了,不行恩
[b]问题补充:[/b]

var flag=true;
var temp;
var last;
for(次数)
if(flag){

定点第一个坐标
flag=false;
}else{
last=bean[i];//下一个坐标点
track.DrawLine(new Map.LonLat(temp.lonlat.x,temp.lonlat.y),new Map.LonLat(last.lonlat.x,last.lonlat.y),50000);//画出一条线

我想在这里停止执行一段时间。但是浏览器会执行temp=last;

    track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd");//定点下一个坐标,循环,使得其暂停一段时间按执行
        temp=last;
             }
          }

}

放到同一函数中
[code="java"]setTimeout(function(){
track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd");
temp=last;
},50000) [/code]

setTimeout('track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd")',50000);

怎么个不行法,是过50秒后没有执行这个方法,还是怎么样

这个方法是延时 5 秒运行,但是如果有后续程序,可能异步执行 产生一些问题
[code="js"]setTimeout(function(){track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd");},50000)[/code]

提供一个sleep 函数

[code="js"]
function sleep(n /*毫秒*/){

var start=new Date().getTime();

while(true) if(new Date().getTime()-start>n) break;

} [/code]

调用方法:
sleep(50000);
track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd");

这个好办啊
你可以把
{
track.Mark(new Map.LonLat(last.lonlat.x,last.lonlat.y),"sdsssd");//定点下一个坐标,循环,使得其暂停一段时间按执行
temp=last;
}
这部分封装成一个函数就ok了,可以传temp参数嘛