Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2014, 23:47
Аватар для антигерой
Новичок на форуме
Отправить личное сообщение для антигерой Посмотреть профиль Найти все сообщения от антигерой
 
Регистрация: 05.05.2011
Сообщений: 5

setTimeout не делает задержки - где ошибка ???
Вот строка:

var scale = 2.5;
for (var i = 1; i <= scale; i+=0.2){ setTimeout(window.alert(Math.round(i*5000)) , Math.round(i*5000) ); }

Цикл выполняется фактически мгновенно и никаких секундных задержек нет, а по идее должно начать выполняться неторопясь и начиная с пятой секунды после запуска.

Что я делаю нетак ???

Последний раз редактировалось антигерой, 24.12.2014 в 23:52.
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2014, 04:19
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Метод setTimeout вызывает функцию или вычисляет выражение после определенного количества миллисекунд. (alert
Сообщение от антигерой
фактически мгновенно
возвращает undefined, поэтому надо обернуть функцией)
var scale = 2.5;
for(var i = 1; i <= scale; i += 0.2) {
  setTimeout(function() {
    alert(Math.round(i*5000));
  }, Math.round(i*5000));
}

Последний раз редактировалось Malleys, 25.12.2014 в 04:21.
Ответить с цитированием
  #3 (permalink)  
Старый 25.12.2014, 07:24
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

var scale = 2.5;
for (var i = 1; i <= scale; i+=0.2){ 
   setTimeout((function(i){return function(){alert(Math.round(i*5000))}}(i)), Math.round(i*5000))
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
firebug пишет ошибка invalid range in character class Dim@ Общие вопросы Javascript 5 10.05.2012 16:52
Передача контекста через setTimeout decadent jQuery 3 10.02.2011 19:01
setTimeout в браузере IE и Opera leha66 Javascript под браузер 2 13.12.2010 13:02
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
IE: неизвестная ошибка выполнения _Kpot_ Internet Explorer 1 03.04.2008 11:00