2016-11-09 7 views
0

を実行する前に待機していないここに私のコードがあります:それはになっているようのJavascriptのsetInterval機能

<script type="text/javascript"> 
     <!-- 
     window.onload = function() {    

     function obtenirTOC(){ 

      $.ajax({ 
       type: "post", 
       url: "http://saaprod/soutien_tache/outils/preferencesAO/tocCheck.asp", 
       success: function(str){ 
       if (str=="Oui"){ 
        $("#show-hide-navigation").click(); 
        } 
       } 
      }) 

     } 
      setInterval(obtenirTOC(),30000); 
} 
     //--> 
     </script> 

私のコードは、30000ミリ秒待機していません。私はページをロードするとすぐに実行されています。

私を助けることができますか?

ありがとうございます!

+0

あなたはすぐに括弧を経由して関数を呼び出しているために(「()」)、その関数のように、それをラップを() {obtenirTOC()}) – thatOneGuy

答えて

4

これは、あなたが考えて何をしていません。

setInterval(obtenirTOC(),30000); 

これはすぐに機能を実行すると、関数の戻り値を実行する間隔を設定しています。 (この場合、どちらがundefinedです。)その代わりに、単に関数のリファレンス自体渡し:

setInterval(obtenirTOC,30000);