在javascript中
function A()
{
 ...
 语句a
   
   此处希望停3秒后去执行function B,B执行完后再转回来执行语句b 语句b
 ...
}function B()
{
 ...
}我希望在function A中执行到语句A时能停3秒后去执行function B,function B执行完后再转回function A来执行语句b并将A执行完请问各位有没有办法实现之?

解决方案 »

  1.   

    将functionA拆分成functionA1和functionA2,在A1结束前执行setTimeout(functionB,3000);
    在functionB结束前调用functionA2A1和A2共用的东西做成全局的
    如果你的functionA是有返回值的,那么拆分之后也要把返回值做到全局变量里。
      

  2.   

    这个我想过,我是希望能有一个sleep之类的东西,因为我这里的B是写成一个公共函数了,所以在里面定义转回到哪个哪个函数也不太现实
      

  3.   

    <script>var flag = false;
    function A()
    {   
       if(!flag)
       {
           alert('语句a');
            B();
       }
       else
       {
       alert('语句b');
       }
    }function B()
    {
      alert('b');
      setTimeout('A()',3000);
      flag = true;
    }window.onload = A();
    </script>
    试下吧
      

  4.   

    4楼我发的写错了.这样才对..-_-!!
    <script>
    var flag = false;
    function A()
    {   
       if(!flag)
       {
           alert('语句a');
       setTimeout('B()',3000);
       }
       else
       {
       alert('语句b');
       }
    }
    function B()
    {
      alert('b');
      flag = true;
      A();
    }
    window.onload = A();
    </script>