Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .js,setInterval,.load(),clearInterval()_Javascript_Jquery - Fatal编程技术网

Javascript .js,setInterval,.load(),clearInterval()

Javascript .js,setInterval,.load(),clearInterval(),javascript,jquery,Javascript,Jquery,我从来都不确定何时会生成ajax-loaded.html(可能是1秒或10秒),所以我使用setInterval不断调用example\u ajax\u request()。这样,当它变得可用时,它就会出现(在一秒钟内) 问题-如何调用myStopFunction(),以便在示例_ajax_request()实际加载ajax-loaded.html时,setInterval停止 <html> <head> </head> <body> <di

我从来都不确定何时会生成ajax-loaded.html(可能是1秒或10秒),所以我使用setInterval不断调用example\u ajax\u request()。这样,当它变得可用时,它就会出现(在一秒钟内)

问题-如何调用myStopFunction(),以便在示例_ajax_request()实际加载ajax-loaded.html时,setInterval停止

<html>
<head>
</head>
<body>
<div id="example-placeholder">
<p>Placeholding text</p>
</div>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"></script>
  <script>
    var myVar=setInterval(function(){example_ajax_request()},1000);
    function example_ajax_request() {
        $('#example-placeholder').html('<p><img src="ajax-loader.gif"  /></p>');
        $('#example-placeholder').load("ajax-loaded.html");
    }

    function myStopFunction(){
        clearInterval(myVar);
    }
  </script>

</body>
</html>

占位符文本

var myVar=setInterval(函数(){example\u ajax\u request()},1000); 函数示例\u ajax\u请求(){ $(“#示例占位符”).html(“

”); $('#示例占位符').load(“ajax-loaded.html”); } 函数myStopFunction(){ 净距(myVar); }
您可能应该使用加载回调来清除间隔

$('#example-placeholder').load("ajax-loaded.html", function () {
   myStopFunction();
});

每秒轮询一次是错误的,您应该使用
错误
回调来重试retryCount。

@PeterSzymkowski,它通过终止
设置间隔
来终止load()例程。这不起作用。具体来说,加载页面时会触发加载gif,但即使以后生成了ajax-loaded.html,加载gif也会不断循环(从未加载过任何内容)…@Chris我们需要更多信息来了解您所谈论的内容。以上只是让您知道,
.load
完成后将调用一个回调函数。哦,好的。。。那我就从这里挖进去。还有-你是否有一个链接,我可以从中学习更好的方法来实现这一点(使用错误回调)?谢谢你在这方面花时间。@chriscool。从这里试试,为什么你要把它放在一个设定的间隔内!这完全没有道理。一遍又一遍地重复并不能使它更快地完成。