GGybarev
@GGybarev
newbie FrontEnd

Куда поставить setTimeOut?

Добрый день
Есть вот такой код, проблема в том, что он выполняется сразу, а не постепенно(т.е. нажал кнопку - подождал, как человек), таймер почему-то не работает... Сам разобраться не могу, измучился уже, куда не втыкал setTimeOut - либо не работает, либо выходит также.

var keepContinue = 0;
var cancel = setInterval(function(){
	keepContinue++;
	var seeMore = document.getElementsByClassName('pam uiBoxLightblue uiMorePagerPrimary');
	if(seeMore.length == 1) {
		seeMore[0].click();
	} else {
		inviteAll();
	}
	console.log(keepContinue);
}, 2000)

function inviteAll(){
	clearInterval(cancel);
	var buttons;
			buttons = document.getElementsByClassName('_42ft _4jy0 FriendRequestAdd addButton _4jy3 _517h _51sy');
			var i = 0;
			(function (){
			  if (i++ > buttons.length) return;
			  setTimeout(function(){
			  	console.log('[' + i + ']');
			  	console.log(buttons[i]);
					for(var i=0; i < buttons.length;i++) {
						if(buttons[i].className === '_42ft _4jy0 FriendRequestAdd addButton _4jy3 _517h _51sy') {
						buttons[i].click();
						console.log('Clicked');
					}
				}
		
			  }, 1500);
			})();
}
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
dtrm
@dtrm
beginner
У вас одновременно вызываются несколько функций setTimeout с одинаковой задержкой. Самым простым решением будет умножить время задержки на i.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
15 июн. 2024, в 23:15
4000 руб./за проект
15 июн. 2024, в 23:01
4400 руб./за проект
15 июн. 2024, в 22:59
70000 руб./за проект