Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   вывод строк в текст ареа по таймеру (https://javascript.ru/forum/events/68763-vyvod-strok-v-tekst-area-po-tajjmeru.html)

Megazupik 06.05.2017 20:03

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

имеется вот такой код, но работает он неверно, по задумке он должен выводить строки с задержкой между выводами в 2 сек, но вместо этого он ждет 2 секунды и выводит все

Nexus 06.05.2017 20:16

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

Попробуйте так:
var counter=0;
(function func(){
	if(++counter>20)
		return;
		
	textarea.value += "\nТекст";
	
	setTimeout(func,2*1000);
})();

Megazupik 06.05.2017 22:44

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

Diphenyl Oxalate 07.05.2017 08:11

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

for (var i = 0; i < 20; i++)
  setTimeout(function () {
    textarea.value += "\nТекст";
  }, 2000 * i);

Megazupik 07.05.2017 13:35

Цитата:

Сообщение от Diphenyl Oxalate (Сообщение 451837)
Megazupik, хозяин барин...

for (var i = 0; i < 20; i++)
  setTimeout(function () {
    textarea.value += "\nТекст";
  }, 2000 * i);

Да я не барин, просто 2 недели жава скрипт изучаю, и всё пока интересно и не понятно


Часовой пояс GMT +3, время: 23:03.