Javascript setInterval在运行函数之前没有等待

时间:2016-11-09 14:15:00

标签: javascript delay 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毫秒。它在我加载页面后立即运行。

你能帮帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

这不符合你的想法:

setInterval(obtenirTOC(),30000);

这是立即执行该功能并设置间隔以执行该功能的返回值。 (在这种情况下是undefined。)相反,只需传递函数引用本身:

setInterval(obtenirTOC,30000);