Проблема с Settimeout

  • Автор темы Flying
  • Дата начала
F

Flying

#1
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, но его чуть-чуть и без него то же самое...
 
F

Flying

#3
проверял в нормальных браузерах, в ослах

не в этом дело, там проблема была в том, что для сет_таймаут надо передавать не саму функцию, а ее название т.е. строку в кавычках...
 
V

Vovochka

#4
Давно уже не передавал функцию в виде ее названия, все время пихал код :rolleyes: