Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.12.2014, 09:56
Интересующийся
Отправить личное сообщение для nikolayseo Посмотреть профиль Найти все сообщения от nikolayseo
 
Регистрация: 06.03.2011
Сообщений: 20

Обход элементов each + setTimeout
$(".announce-name:visible").each(function() {

	tthis = $(this);
	setTimeout(function() {
		console.log(tthis.text());
	}, 5000);
	
});


В итоге выводится сразу последний элемент в наборе. Как сделать паузу в 5 секунд при обходе списка элементов?

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2014, 10:27
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

по тому что setTimeout это функция
т.е. то что ты пишешь в скобках это параметры этой функции они вычисляются в момент вызова данной функции
вызов функции ни как не тормозит выполнения кода просто когда то в далеком будущем наступит событие timeout
и будет выполнен первый параметр функции setTimeout (c)

Попытаюсь объяснить совсем на пальцах
небольшой пример «setTimeout ( a + b , 100 )»
это вызов функции в котором первым параметром идет JS выражение и оно будет вычислено еще до вызова функции
В случае «setTimeout ( function () {} , 100 )» первым параметром тоже идет выражение и оно так же будет вычислено (интерпретировано) до вызова setTimeout результатом вычисления данного выражения будет функция
т.е. по пунктам:
1. вычисляется выражение JS (выражение возвращает безыменную функцию)
2. происходит вызов setTimeout
3. наступает событие timeout в котором происходит вызов безымянной функции (c)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход элементов формы по Enter myshara jQuery 14 20.10.2014 15:43
Обход элементов localStorage berserk10 Events/DOM/Window 8 11.08.2013 14:55
Как сделать обход элементов внутри DIV reno4 jQuery 4 24.07.2013 13:30
Удалить и вернуть массив из удаленных элементов splice Paulyyy Общие вопросы Javascript 15 29.05.2013 15:36
Обход всех элементов на странице. lexnext1 Элементы интерфейса 0 08.11.2011 12:58