Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.06.2011, 12:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Panter7777
Все выше перечисленное попробовал в разных вариация и плюс своего, результат тот же, паузы нет!
Твая не умеет пользоваться setTimeout()...

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
</style>
<script type="text/javascript">
function Go() {
	setTimeout(function(){Inc(0)},100)
}
function Inc(N) {
	document.getElementById('n').innerHTML=N
	N++
	if (N<11) setTimeout(function(){Inc(N)},400)
}
</script>
</head>
<body onload='Go()'>
<div id='n'></div>
</div>
</body>
</html>
Ответить с цитированием
  #12 (permalink)  
Старый 22.06.2011, 12:11
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

а если так
for(var i=0; i<dict.length; i++){
	  tm += 3000;
          (function ( url, burl, time ) {
            setTimeout(function(){
             SendReq( url, burl );
            }, time);
          }) (link, dict[i], tm)
	}
Ответить с цитированием
  #13 (permalink)  
Старый 22.06.2011, 12:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от nikita.mmf
а если так
Зачем вы setTimeout() суёте в циклы?
Ответить с цитированием
  #14 (permalink)  
Старый 22.06.2011, 12:15
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

ksa, не я, а автор вопроса, просто подумал, что возможно оно не работает из-за отсутствия замыкания в цикле
Ответить с цитированием
  #15 (permalink)  
Старый 22.06.2011, 12:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

setTimeout() должен "сам определять" следующую итерацию, а не какой-то цикл. Обращение "вы" не совсем к тебе... А ко всем так делающим.
Ответить с цитированием
  #16 (permalink)  
Старый 22.06.2011, 12:25
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

ksa, ну это как раз понятно, кто хоть раз писал анимацию про это должен знать
Ответить с цитированием
  #17 (permalink)  
Старый 23.06.2011, 12:40
Новичок на форуме
Отправить личное сообщение для Panter7777 Посмотреть профиль Найти все сообщения от Panter7777
 
Регистрация: 21.06.2011
Сообщений: 7

Вобщем через PHP не как потому, что сколько ты пауз в нем не ставь результат вернется весь после обработки!!! А мне нужно что бы результат возвращался поэтапно, блин.
Ответить с цитированием
  #18 (permalink)  
Старый 23.06.2011, 14:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Panter7777
А мне нужно что бы результат возвращался поэтапно
Пример "поэтапного возвращения" я тебе показал...
Ответить с цитированием
  #19 (permalink)  
Старый 23.06.2011, 15:01
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Panter7777,
не суй запросы к серверу в циклы. Сервер не будет отвечать с твоими задержками, сначала получи ответ от сервера, а потом отправляй новый запрос.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #20 (permalink)  
Старый 23.06.2011, 16:52
Новичок на форуме
Отправить личное сообщение для Panter7777 Посмотреть профиль Найти все сообщения от Panter7777
 
Регистрация: 21.06.2011
Сообщений: 7

Ура!!! Поборол)))
Всем огромнейшее спасибо!!!
Вот код кому интересно пауза в массиве при работе через Ajax:

<script type="text/javascript">
function tmp(link, dict){
		if (dict.length > 0){
			last = dict.pop(); 
			SendReq(link, last);
			setTimeout(function(){tmp(link, dict)}, 2000);
		}
}

// Сначала берем из формы значения и создаем из них массив, потом через таймаут передаем его функции tmp которая берет последний элемент массива и передает его в функцию посылающею Ajax запрос на обработчик и так далее пока в массиве не кончаться элементы!!! 
function Dict(){
	var link = document.getElementById('link').value;
	var back_url = document.getElementById('back_url').value;
	var dict = new Array();
	dict = back_url.split("\n");

	setTimeout(function(){tmp(link, dict)}, 2000);
}

function SendReq(link, back_url){
	
	var url = "link="+encodeURIComponent(link)+"&back_url="+encodeURIComponent(back_url);
// 	alert(url);
        var zz = document.getElementById('result').innerHTML; //Для того что бы новые результаты добавлялись к старым
	var req = new XMLHttpRequest();
	
	req.onreadystatechange = function () {
		if (req.readyState != 4) {
			document.getElementById('result').innerHTML="Загружаю";
		}
		if (req.readyState == 4){
			
			document.getElementById('result').innerHTML=zz + '</br>' + req.responseText;
			
		}
	}
	
	req.open("POST", "check_url.php", true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	req.send(url);

}
</script>

</head>
<form method="POST">
......
		<button onclick="Dict(); return false">Ajax</button>
</form>

<div id="result">Результат</div>

Последний раз редактировалось Panter7777, 23.06.2011 в 17:15.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача контекста через setTimeout decadent jQuery 3 10.02.2011 19:01
setTimeout в браузере IE и Opera leha66 Javascript под браузер 2 13.12.2010 13:02
setTimeout setInterval и др. mycoding Общие вопросы Javascript 6 28.10.2010 17:26
Аргументы в setTimeout - проблема в IE 6 micscr Общие вопросы Javascript 8 28.09.2009 13:08
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37