2016-11-09 5 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); 
Смежные вопросы