Javascript.RU

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

вывод строк в текст ареа по таймеру
function func(){
        	for (var i = 0; i<20; i++){
        		textarea.value += "\nТекст";
        	}
        }
        setTimeout(func, 2000);

имеется вот такой код, но работает он неверно, по задумке он должен выводить строки с задержкой между выводами в 2 сек, но вместо этого он ждет 2 секунды и выводит все
Ответить с цитированием
  #2 (permalink)  
Старый 06.05.2017, 20:16
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,720

Вам бы стоило перечитывать то, что вы пишите...

Попробуйте так:
var counter=0;
(function func(){
	if(++counter>20)
		return;
		
	textarea.value += "\nТекст";
	
	setTimeout(func,2*1000);
})();
Ответить с цитированием
  #3 (permalink)  
Старый 06.05.2017, 22:44
Интересующийся
Отправить личное сообщение для Megazupik Посмотреть профиль Найти все сообщения от Megazupik
 
Регистрация: 22.04.2017
Сообщений: 17

интересно, не знал что можно написать if(++counter>20), почему не работает через for?и можно ли как то сделать через for?

Последний раз редактировалось Megazupik, 06.05.2017 в 22:53.
Ответить с цитированием
  #4 (permalink)  
Старый 07.05.2017, 08:11
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

Megazupik, хозяин барин...

for (var i = 0; i < 20; i++)
  setTimeout(function () {
    textarea.value += "\nТекст";
  }, 2000 * i);
Ответить с цитированием
  #5 (permalink)  
Старый 07.05.2017, 13:35
Интересующийся
Отправить личное сообщение для Megazupik Посмотреть профиль Найти все сообщения от Megazupik
 
Регистрация: 22.04.2017
Сообщений: 17

Сообщение от Diphenyl Oxalate Посмотреть сообщение
Megazupik, хозяин барин...

for (var i = 0; i < 20; i++)
  setTimeout(function () {
    textarea.value += "\nТекст";
  }, 2000 * i);
Да я не барин, просто 2 недели жава скрипт изучаю, и всё пока интересно и не понятно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрывающийся список с объемными текстами morzer Общие вопросы Javascript 4 11.07.2016 14:54
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46
прогкрутка к якорям cOAPerator Общие вопросы Javascript 20 27.08.2013 03:30
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03