我正在使用此代码刷新PHP页面:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh
setInterval(function() {
$('.container').load('integra_data.php');
}, 2000); // the "3000" here refers to the time to refresh the div. it is in milliseconds.
});
// ]]></script>
<div class="container"><h3>Loading Data...</h3></div>
在javascript中,而不是每刷新一次X秒,我可以在上次刷新完成后刷新吗?
答案 0 :(得分:0)
使用setTimeout而不是setInterval。
答案 1 :(得分:0)
$(document).ready(function() {
$.ajaxSetup({ cache: false });
setTimeout(function() {
$('.container').load('integra_data.php');
}, 2000);
});
$( document ).ready(function(){})
此内容将在页面加载完成后运行。所以这里应该延迟2秒..
答案 2 :(得分:0)
如果我找到了你想要在无限循环中刷新div的内容,对吧?如果这是正确的,您可以将load()
作为complete
回调传递给$(document).ready(function() {
var loadFunction = function () {
$('.container').load('integra_data.php', loadFunction);
}
$.ajaxSetup({ cache: false });
loadFunction();
});
。你可以做这样的事情(递归):
loadFunction()
每次上次运行完成后,complete
都会自行调用。如果您想了解有关setTimeout()
回调的更多信息,请参阅docs。如果您添加一点延迟,因为尽可能快地提出请求并不总是使用complete
功能。您可以将其添加到{{1}}回调。