javascript如何延迟执行一个函数?
我要在for循环里延迟1秒执行一个函数,用了settimeout,它只能初次延迟,以后的循环就延迟了,setInterval也不行,请问哪位高手帮忙解决
比如:
function a()
{
for(var i=0;i<10;i++)
{
//我要在这里延迟1秒执行函数b()10次,也就是10秒执行完这个for循环
}
}
function b()
{
alert("b");
}
我要在for循环里延迟1秒执行一个函数,用了settimeout,它只能初次延迟,以后的循环就延迟了,setInterval也不行,请问哪位高手帮忙解决
比如:
function a()
{
for(var i=0;i<10;i++)
{
//我要在这里延迟1秒执行函数b()10次,也就是10秒执行完这个for循环
}
}
function b()
{
alert("b");
}
var time = setInterval('b()',1000);//这样1秒执行一次b
var count = 0;
function b() {
alert('b');
count++;
if(count == 9) {
clearInterval(time);
}
}
~function(){
var i=1;
function b(){
alert("b");
if(i<10){
setTimeout(b,1000);
i++;
}
}
setTimeout(b,1000);
}();
{
for(var i=0;i <10;i++)
{
setTimeout("b()", 1000 * (i + 1))
}
}
var tid;
var n = 0
function a()
{
n++;
if(tid!=null){clearTimeout(tid);tid=null;}
if(n<=10) tid = setTimeout("b()",1000);
}
function b()
{
alert("b");
}
var tid;
var n = 0
function a()
{
tid = setTimeout("b()",1000);
}
function b()
{
alert("b");
n++;
if(tid!=null){clearTimeout(tid);tid=null;}
if(n<10) tid = setTimeout("b()",1000);
}
function a()
{
for(var i=0;i <10;i++)
{
pause(1000);
b();
}
}
function b()
{
alert("b");
}function pause(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
} </script>
<button onclick="a()">aa</button>
function MyLoad()
{
ctroltime=setTimeout("hh()",3000); //每隔3s执行hh()
}hh(){
……
}
<div id="divOutput"></div>
<script type="text/javascript">
<!--
function a()
{
for(var i=1; i<=10; i++)
window.setTimeout("b("+i+")", 1000*i);
}function b(num)
{
var t = new Date();
document.getElementById("divOutput").innerHTML += ("b"+num+" : "+t.toLocaleTimeString()+"<br />");
}a();
//-->
</script>
function aa()
{
for(var i=0;i <5;i++)
{
var k = "bbbb";
setTimeout("bb(k)", 2000 * (i + 1))
}
}
function bb(j)
{
alert(j);
}
function aa()
{
for(var i=0;i <5;i++)
{
var k = "bbbb";
setTimeout("bb(" + k +")", 2000 * (i + 1));
}
}
function bb(j)
{
alert(j);
}
</script>
我这样还是不行呀,它提示我“bbbb”未定义
<script>
var tid;
var n = 0;
function aa()
{
var k = "bbbb";
tid = setTimeout("bb('" + k +"')", 2000);
}
function bb(j)
{
alert(j);
if(tid!=null){clearTimeout(tid); tid=null;}
n++
if(n<5) tid = setTimeout("bb('" + j +"')", 2000);
}
aa()
</script>