问题描述
我有一个页面正在div中重新加载数据,我正在使用jquery更新div,但是它仅触发一次。
我的页面如下所示:
<html><head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
</head><body>
<div id="messages" style="width:100%;font-size:120%;">
<?php echo $tbl; ?>
</div>
<script type="text/javascript">
$(document).ready (function () {
var updater = setTimeout (function () {
$('div#messages').load ('new_hud.php?update=true');
}, 2000);
});
</script>
</body></html>
我期望脚本每2秒加载一次数据。 它会在最初的2秒钟后初始化重新加载数据,但之后再也不会执行。 我在这里想念什么?
1楼
potatopeelings
2
2015-08-07 14:13:42
将setTimeout
替换为setInterval
,就像这样
var updater = setInterval(function () {
$('div#messages').load ('new_hud.php?update=true');
}, 2000);
2楼
bhspencer
1
已采纳
2015-08-07 14:13:50
您需要使用setInterval而不是setTimeout。
在指定的延迟后,setTimeout将触发一次。
setInterval将以指定的间隔重复触发。
$(document).ready(function () {
var updater = setInterval(function () {
$('div#messages').load('new_hud.php?update=true');
}, 2000);
});
3楼
j08691
0
2015-08-07 14:13:50
您正在使用并想使用 。
var updater = setInterval (function () {
4楼
Defesa Esquerdo
0
2015-08-07 14:16:23
setTimeout函数本身不会每2秒循环一次脚本,因此您的代码所做的基本上是在页面准备好加载数据之后等待2就是这样。
将setTimeout包装为“ for”或“ while”周期以加载所需的次数。
希望它有用:)