@Fehax

Как правильно передать значение свойства в слайдер?

Добрый всем вечер. Моя функция возвращает undefined, соответственно в значении вписывает подобное. В принципе из-за этого весь код и не работает...
6331d6b93d226430140536.png
Как решить эту задачу?

codepen
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Косяк на косяке.

if (this.frame < 0) {
    this.frame = this.slides.lenght-1;
    this.setBackground(this.slides[this.frame])
}

Если frame неотрицательный, то вызывать setBackground уже не надо?

Что такое lenght? Я такого слова не знаю.
И массивы не знают. Так что получаете undefined. А после вычитания единицы - NaN. Элемента с индексом NaN в массиве нет, так что в setBackground улетает undefined - его вы и видите в стилях.

if (this.frame > this.slides.length) {

По-вашему, у массива может быть элемент с индексом, равным длине?

buttonLeft.addEventListener('click', slider.left());

Функция и результата её вызова - не одно и то же.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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