除使用一套自定义事件机制外,一般是在test 返回前 或 调用后 调用一特殊函数x,当x一旦运行则认为test已完成。

解决方案 »

  1.   

    在页面上设置一个隐藏hidden,然后在函数最后一句执行,在注释那加setTimeout检查
      

  2.   

    var myflag=false;
    function test(){
    alert('ok');
    myflag=true;
    return true;
    }
    setTimeout("test",1000);
    然后在你想判断的地方,判断myflag!
      

  3.   

    ?
    呵呵~都有ALERT了~就应该知道啦~没有就用楼上的办法啦~
      

  4.   

    var myflag=false;
    function test(){
    alert('ok');
    myflag=true;
    return true;
    }
    setTimeout("test",1000);
    然后在你想判断的地方,判断myflag!
    这是是个好的方法
      

  5.   

    function test(callback){
      alert('ok');
      return callback.call(this);
    }
    setTimeout(function(){
      test(myFun);
    },1000);
    这方法还好些, 看来是没有办法直接知道的, 唯有用这办法了
      

  6.   

    我在同一时间想处理大量的数据, 但这样在处理过程中IE就不能动,像死掉一样,给用户感觉不好,我现在想分开处理这些内容,同一时间只处理一部份,我用setTimeout来执行, 同一时间只执行一个setTimeout的动作(如果同时用setTimeout处理所有动作跟不用setTimeout效果一样的),但现在就要知道一个setTimeout执行的动作什么时候处理完,给个例子:
    我要修改页面100个DIV的内容,一下子修改IE就会死掉,我想用setTimeout一个一个来修改, 当修改完一个div的内容后再修改一下个, 直到100个修改完后
      

  7.   

    那太简单了,例如:
    var div;//保存当前正处理的div引用
    function div_update()
    {
      div = div_next;//你想办法获取本次运行应该处理的Div,保存到全局变量div
      if( div == null )// div 为空表示已处理完
      {
        return;
      }
      ...//对div修改直到完成后加下面这句
      window.setTimeout( div_update, 1000 );//1秒后继续修改,时间你可以改得合适些。
    }
      

  8.   

    不太明你的意思, 我说有div只是一个例子,我有办法取得上一个和下一个要处理的进程, 我现在全把它们放在一个数组里面了,数组里的数据都是一个处理过程,就是一个函数, 现在就想怎样才能一个一个执行它们,不能同时执行我个, 这样也会占用太多的CPU了.而我程序里有几处需要这样做法, 如果只有一处的话我用上面我提到的用个回调函数就很好了, 主要不想要让浏览器处理过程中全占了CPU,