Javascript .js,setInterval,.load(),clearInterval()
我从来都不确定何时会生成ajax-loaded.html(可能是1秒或10秒),所以我使用setInterval不断调用example\u ajax\u request()。这样,当它变得可用时,它就会出现(在一秒钟内) 问题-如何调用myStopFunction(),以便在示例_ajax_request()实际加载ajax-loaded.html时,setInterval停止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
<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。从这里试试,为什么你要把它放在一个设定的间隔内!这完全没有道理。一遍又一遍地重复并不能使它更快地完成。