Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Kayker
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 58
1

Неправильно работает код

22.05.2014, 14:13. Просмотров 206. Ответов 3
Метки нет (Все метки)

Доброго всем времени суток. Помогите разобраться.
Есть код:
Javascript
1
2
3
4
5
6
7
vari = 1;
function test() {
    for (i = 1; i <= 100; i++) {
 
        setTimeout(document.write(i), 5000);
    }
}
По моему действия должны идти так:
1. проверка условия i<=100
2.увеличение i на единицуi++
3 Вывод на экран с задержкой в 5 секунд текущего значения i
4 Возврат к первому пункту.
Однако, выводится строка от 1 до 100 разом без задержек.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2014, 14:13
Ответы с готовыми решениями:

Неправильно работает код
Подскажите где ошибка, код должен передовать вопросы в одну переменную, а...

Неправильно работает скрипт
Учусь писать скрипты и попался в учебнике такой вот: function...

setInterval работает неправильно!
Сдравствуйте!Решил поправтиковаться и написать программу которая должна...

Неправильно работает объект XMLhttprequest
Здравствуйте, почему-то неправильно работает объект XMLhttprequest. ...

Помогите.Скрипт неправильно работает
Помогите новичку.Значения из формы почему-то вводятся не как числа,а как...

3
superpuper
102 / 102 / 48
Регистрация: 09.09.2010
Сообщений: 239
22.05.2014, 14:44 2
Код как раз работает правильно.
Проходит цикл 100 раз и устанавливает 100 таймеров, через 5с они все срабатывают.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
var i = 1; // здесь, чтобы при выходе из функции foo не потерять значение
function foo() {
    document.write(i);
    i++;
    if (i < 100) // если меньше 100,
        test(); // то запустить ещё 1 таймер.
}
function test() {
    setTimeout(foo, 5000); // foo запустится только через 5с
}
// запуск
test();
А так должно работать.

Добавлено через 5 минут
Да, и кстати п2 выполняется после п3.
Цикл for работает так :
1 секция.
2 секция, если false, то выход.
Тело
3 секция.
Возврат к 2
0
Kayker
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 58
22.05.2014, 15:02  [ТС] 3
Спасибо огромное.
Всё работает как надо. Я вообще верстальщик. возникла потребность в программировании на стороне клиента, а язык уж больно необычный. тяжело в логику въезжать.
0
superpuper
102 / 102 / 48
Регистрация: 09.09.2010
Сообщений: 239
22.05.2014, 15:05 4
Да, лишнего много.
Javascript
1
2
3
4
5
6
7
8
9
10
11
var i = 0;
function test() {
    document.write(i);
    i++;
    if (i < 100)
        setTimeout(test, 5000);
}
// запуск
test();
// Или так, если 1 запуск надо с интервалом
// setTimeout(test, 5000);
Так хватит.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2014, 15:05

Неправильно работает смена стиля элемента
Как сделать что бы скрипт изменял стили ВСЕХ элементов, у которых класс:...

Простейший код работает в MS IE, почему не работает в Mozilla, FireFox?
Приветствую. Вот собственно код: &lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;body&gt; &lt;input...

не работает код (очень простой код!)
&lt;!doctype html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru