Правильно ли я описываю очередность выполнения кода JS?

Написал код сам не понимая как , когда писал всё понимал, вот стоило прочитать его, ничего не понял, суть такова, чтобы передавать значение x в другую функцию чтобы вызвать скролл на определенную высоту.

var tap = document.getElementsByClassName('tap');
for( let i = 0 ; i < tap.length ; i++){
		console.log('i = ' + i);
		tap[i].parentNode.addEventListener('click' , function(e){
			var self = e.target;
			var selfTap = tap[i];
				if(selfTap == self){
					var x = i;
					scroll(x);
	}});};

1)Я объявил переменную i и в цикле for, переменная i будет иметь 2 значения i=0 и i=1?
2)После создается 'якобы' 2 слушателя события, в котором tap[0] и tap[1]?
Если это не так, то объясните пожалуйста и не бейте палкой пожалуйста за код, если есть косяки в коде, то подскажите в каком направлении двигаться :)
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Tendor
Зачем эта проверка?
if(selfTap == self){
var x = i;
scroll(x);
}
Что зачем функции scroll передавать х?
Ответ написан
@ZerroOne Автор вопроса
Я
Вы правы, эта проверка тут не нужна, спасибо :)
(Х) - нужна для этой функции
function scroll(x) {
var win = ($(window).height() + 1) * ++x;
$('html, body').animate({scrollTop: win}, 800);
return false;
};
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы