Стрелочные функции
Я пока ими не пишу, в будущем обязательно
но не могу понять что я не правильно написал сначала стрелочная, она работает, потом я ее переписал как мне понятнее и она не работает. 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); |
slides.classList.remove("active");-> slides[i].classList.remove("active"); |
Цитата:
|
Цитата:
|
Цитата:
Если вы используете цикл for (i=..., то к элементу массива надо обращаться slides[i] (стр 27) |
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); }) }) Вот тут тоже не могу увидеть ошибку |
dot.forEach( function (item, indexDot){ item.addEventListener("click", function(){ let index = indexDot; // Зачем? activeSlide(index); // activeSlide( indexDot) activedots(index); // activedots(indexDot) }) }) |
Сергей Ракипов,
строка 13 параметры функции отсутствуют, function( здесь пусто!!!). |
voraa,
А почему нужно function в начало нужно было поставить и там у вас скобки не хватило, но я вставил. |
Цитата:
|
Цитата:
function (item, indexDot) так верно |
Цитата:
Все постепенно, не загружаю себя |
Цитата:
function (параметры) {тело} |
Цитата:
|
dot.forEach( )
В forEach надо передать функцию, которая будет применяться к каждому элементу. Вот мы и пишем эту функцию function (item, indexDot){ item.addEventListener("click", function(){ activeSlide(indexDo); activedots(indexDo); }) } |
Все понял, спасибо за помощь
|
У меня не хватает знание синтаксис помогите переписать на "нормальный старый" вид
function parallax(event){ this.querySelectorAll(".layer").forEach(layer => { let speed = layer.getAttribute("data-speed"); layer.style.transform = `translateX(${event.clientX*speed/1000}px)` }); } document.addEventListener("mousemove", parallax); вот это (layer => { let speed = layer.getAttribute("data-speed"); `translateX(${event.clientX*speed/1000}px)` |
https://es6console.com/k9meb3ie/
Вставляй свой код, тыкай Transform, и отстань от нас. Лучше конечно изучи javascript, но тут похоже всё гибло. |
Сергей Ракипов,
layer => заменить на function(layer) |
Цитата:
|
Цитата:
|
Не понимаю логику синтекса
"translateY(" + event.clientY * speed/1000 + "px)" Могу понять первые ковычки, но не могу понять почему так вторые расположены |
Сергей Ракипов,
задача вырезать число и заменить на переменную. было "translateY(10px)" жмак "translateY( px)" тумк "translateY(" "px)" вжик "translateY(" + "px)" "translateY(" + number + "px)" "translateY(" + event.clientY * speed/1000 + "px)" |
Цитата:
Все понял, я просто думал, вжмак, вжмак, а потом вжик )))) Спасибо )) |
Сергей Ракипов, рони,
было "translateY(10px)" динь `translateY(10px)` дррррррррррррррр-др-др-др-др `translateY(${}px)` потом этот ваш вжик `translateY(${number}px)` `translateY(${event.clientY * speed / 1000}px)` |
Цитата:
|
Сергей Ракипов,
Шаблонные строки |
Сергей Ракипов,
Кавычки |
рони,
Спасибо это очень полезно |
Часовой пояс GMT +3, время: 23:21. |