F
Flying
window.setTimeout(code, delay)
Arguments
code
<blah-blah>
delay
The amount of time, in milliseconds, before the code should be executed.
Возникла необходимость выполнять на странице определенный код каждые пару секунд (чекать через ajax не обновился ли контент в БД, если обновился - получать его и юзать на странице). Пробую делать это с setTimeout, указываю 2500 мс = 2.5 с, а скрипт выполняется скорее 2500 раз в секунду. Вырезал нафик весь лишний код, оставил один сеттаймаут - та же проблема... setInterval ведет себя также, ЧТО ДЕЛАТЬ ?
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var counter = 0;
var callback = function () {
$("#counter").html(counter++);
window.setTimeout(callback(), 2500, "JavaScript");
}
$(document).ready(
function () {
window.setTimeout(callback(), 2500, "JavaScript");
}
);
</script>
</head>
<body>
<h1 id="counter">:(</h1>
</body>
</html>
ЗЫ: тут с jQuery, но его чуть-чуть и без него то же самое...