在读取每个元素后,在Jquery数组中保持延迟或暂停

时间:2014-05-14 12:16:07

标签: javascript jquery

我有以下程序从数组中读取元素并进行一些处理。

阅读完每个元素后,我想保持3秒的延迟。

这是我的完整程序

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
    </title>
    <script src="http://code.jquery.com/jquery-1.10.2.min.js">
    </script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
    </script>

    <script type="text/javascript">

      var symbols = [ "AAA","BBB"];

      $(document).ready(function () {

        $.each( symbols, function( index, value ){
          loadXMLDoc(value);
        });

        doPoll();

      }
                       );
      function loadXMLDoc(value)
      {
        alert('onready'+value);
      }


      function doPoll(){
         $.each( symbols, function( index, value ){
            poll(value);
         });
        setTimeout(doPoll,4000);
      }


      function poll(value)
      {
          alert('poll'+value);
      }
    </script>
  </head>
  <body>

  </body>
</html>

我希望在这些点上保持3秒的延迟

这里

  $(document).ready(function () {
        $.each( symbols, function( index, value ){
          loadXMLDoc(value);
        });
        doPoll();
      }
  );

在这里

function doPoll(){

   $.each( symbols, function( index, value ){
     poll(value);
   });
   setTimeout(doPoll,4000);
 }

3 个答案:

答案 0 :(得分:1)

你可以尝试一下 -

$.each( symbols, function( index, value ){
      setInterVal(function() {
          loadXMLDoc(value);
      }, 500);
    });

以毫秒为单位的时间。

答案 1 :(得分:1)

试试这个:

$.each( symbols, function( index, value ){
setTimeout( function () {
   loadXMLDoc(value);
}, index* 3000);//run the code after 3 second
});

答案 2 :(得分:0)

参见jQuery文档.delay();