Пишу слайдер, и не понимаю как мне либо установить this, либо по-другому обратиться к свойству объекта.
Через функцию получилось, захотелось преобразить код.
class Autoslider {
constructor(elem) {
this.body = elem.querySelector('.autoslider__body')
this.content = elem.querySelector('.autoslider__content')
this.slides = elem.querySelectorAll('.autoslider__slide')
this.slide_active = elem.querySelector('autoslider__slide_active')
}
animation() {
let slideIndex = 0;
setInterval(showSlide, 2000);
function showSlide() {
this.slides.forEach(slide => slide.classList.remove('autoslider__slide_active'))
this.slides[slideIndex].classList.add('autoslider__slide_active');
if (slideIndex == this.slides.length - 1) {
slideIndex = -1;
}
slideIndex++;
}
}
}
let autoslider = new Autoslider(document.querySelector('.autoslider'))
autoslider.animation()