Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проблемы с setTimeout().... (https://javascript.ru/forum/events/18196-problemy-s-settimeout.html)

Panter7777 21.06.2011 16:49

Проблемы с setTimeout()....
 
Добрый день!
Пишу штуку работающею по ajax передаю список через textarea потом javascripto'm разбиваю его по строчно и создаю массив. Дальше нужно бегу по массиву и вызываю другую функцию с переменными из массива. Только вызвать мне ее нужно через определенный интервал времени.
Вот код:
function SplitURL(){
	var dict = new Array();
	var link = document.getElementById('link').value;
	var back_url = document.getElementById('back_url').value;
	dict = back_url.split("\n");
	var tm = 0;
	for(var i=0; i<dict.length; i++){
		tm += 3000;
		setTimeout("SendReq(" + link + "," + dict[i] + ");", tm);
	}
}

function SendReq(link, back_url){
	
	alert(1);

}


Тоесть еденицка должна вызываться каждые 3 секунды но нет :nono: не вызвается.!!!

DreamTheater 21.06.2011 17:27

setTimeout(function() {
  SendReq.call(link, dict[i]);
}, tm);

Panter7777 21.06.2011 17:46

не работает!!!!:(

Panter7777 21.06.2011 17:58

Вот даже примитивный скрипт сразу выдает "с"
<html>
<head>
[JS]
var dict = new Array();
dict = new Array("a", "b", "c");

function timedCount(i){

 while (i<dict.length){
    document.getElementById('txt').value=dict[i];
     i += 1;

     setTimeout("timedCount(" + i + ")",2000);
   }
}
 [/JS]
</head>

<body>

<form>
<input type="button" value="Start count!" onClick="timedCount(0)">
<input type="text" id="txt">
</form>

</body>
</html>

DreamTheater 21.06.2011 18:30

Цитата:

Сообщение от Panter7777 (Сообщение 109783)
не работает!!!!:(

setTimeout(function() {
  SendReq.call(window, link, dict[i]);
}, tm);


А так?

Panter7777 21.06.2011 18:41

Так тоже не работает, елки палки, что я уже не пробовал....

Bebarr Swallow 21.06.2011 19:54

каждые три секунды? я думал setTimeout это типа таймер который выполняется только раз!?.

yashka525 21.06.2011 20:58

Попробуй setInterval что-ли...

melky 22.06.2011 10:45

Цитата:

Сообщение от Panter7777 (Сообщение 109773)
через определенный интервал времени.

ну так через интервал и сделай

потом только не забудь убрать

Panter7777 22.06.2011 12:00

Все выше перечисленное попробовал в разных вариация и плюс своего, результат тот же, паузы нет!!! Максимум что можно добиться это задержка перед первой отправкой, а дальше все!!! Может передать масив в php и там sleep()'ами по одному значению делать... фиг его знает буду что-то выдумывать.


Часовой пояс GMT +3, время: 13:32.