Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Стрелочные функции (https://javascript.ru/forum/dom-window/80115-strelochnye-funkcii.html)

Сергей Ракипов 29.04.2020 06:32

Стрелочные функции
 
Я пока ими не пишу, в будущем обязательно

но не могу понять что я не правильно написал

сначала стрелочная, она работает, потом я ее переписал как мне понятнее и она не работает.

let activeSlide = n => {
	for(slide of slides){
		slide.classList.remove("active");
	}
	slides[n].classList.add("active");
}

let nextSlide = () => {
	if(index == slides.length -1){
		index = 0;
		activeSlide(index);
	}
	else{
		index++;
		activeSlide(index);
	}
}

next.addEventListener("click", nextSlide);





let activeSlide = function(n){
	for(let i=0; i<slides.length; i++){
		slides.classList.remove("active");
	}
	slides[n].classList.add("active");
}

let nextSlide = function(){
	if (index == slides.length - 1){
		index = 0;
		activeSlide(index);
	}
	else{
	index++;
	activeSlide(index);
	}
}

next.addEventListener("click", nextSlide);

Aetae 29.04.2020 06:37

slides.classList.remove("active");
->
slides[i].classList.remove("active");

Сергей Ракипов 29.04.2020 06:54

Цитата:

Сообщение от Aetae (Сообщение 523533)
slides.classList.remove("active");
->
slides[i].classList.remove("active");

то есть нужно было создать массив и поместить значение i

Сергей Ракипов 29.04.2020 06:55

Цитата:

Сообщение от Aetae (Сообщение 523533)
slides.classList.remove("active");
->
slides[i].classList.remove("active");

А я вот еще до конца не понимаю зачем в аргументы или параметры, я не знаю как точно это называет поместили n

voraa 29.04.2020 07:34

Цитата:

Сообщение от Сергей Ракипов (Сообщение 523534)
то есть нужно было создать массив и поместить значение i

Массив уже есть. Он называется slides.
Если вы используете цикл for (i=..., то к элементу массива надо обращаться slides[i] (стр 27)

Сергей Ракипов 29.04.2020 07:50

dot.forEach((item, indexDot) => {
	item.addEventListener("click", () =>{
		index = indexDot;
		activeSlide(index);
		activedots(index);
	})
})





dot.forEach((item, indexDot) function(){
	item.addEventListener("click", function(){
		index = indexDot;
		activeSlide(index);
		activedots(index);
	})
})


Вот тут тоже не могу увидеть ошибку

voraa 29.04.2020 07:57

dot.forEach( function (item, indexDot){
    item.addEventListener("click", function(){
        let index = indexDot; // Зачем?
        activeSlide(index); //  activeSlide( indexDot)
        activedots(index); // activedots(indexDot)
    })
})

рони 29.04.2020 08:01

Сергей Ракипов,
строка 13 параметры функции отсутствуют, function( здесь пусто!!!).

Сергей Ракипов 29.04.2020 08:02

voraa,
А почему нужно function в начало нужно было поставить
и там у вас скобки не хватило, но я вставил.

Сергей Ракипов 29.04.2020 08:03

Цитата:

Сообщение от рони (Сообщение 523540)
Сергей Ракипов,
строка 13 параметры функции отсутствуют, function( здесь пусто!!!).

не понял


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