首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

一个简单的定时器有关问题(怎么执行N次数的函数,每次执行都延迟指定时间)

2012-03-19 
一个简单的定时器问题(如何执行N次数的函数,每次执行都延迟指定时间)?RT。我想利用js的settimeout来完成这

一个简单的定时器问题(如何执行N次数的函数,每次执行都延迟指定时间)?
RT。
我想利用js的settimeout来完成这样一个功能:
window.onload=sett;
var   test   =   {
fetch_content   :   function   (){
                  var   o   =   document.getElementById( 'ajax-response ');
o.style.backgroundColor   =   '#fff333 ';
o.innerHTML   =   Math.random();
}
}
function   sett()
{
for(i=0;i <5;i++){
setTimeout( "test.fetch_content() ",500);
}
}
即执行5次test.fetch_content(),每次都延迟500ms。可是经过实验发现无法实现这个要求,请高手指正啊!!!!

[解决办法]
实际是执行了,for循环过快,所以你看到的效果应该只是最后一个的结果。
可以这样:
function fetchN(n)
{
if (n > 0)
{
n--;
setTimeout( "test.fetch_content() ", 500);
setTimeout( "fetchN( "+n+ ") ",500);
}
}
function sett()
{
setTimeout( "fetchN(5) ",500);
}
[解决办法]
window.onload=sett;
window.tt=0;
var test = {
fetch_content : function (){
var o = document.getElementById( 'ajax-response ');
o.style.backgroundColor = '#fff333 ';
o.innerHTML = Math.random();
}
}
function sett(){
test.fetch_content();
if(window.tt <5){
window.tt++;
setTimeout( "sett() ",500);
}
}

热点排行
Bad Request.