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

Добавляю кнопки через javascript кодом
if ( 0 < ( this.maxImages - ( this.slider.parent().width() / this.slider.find(".slide").width() ) )) {
        this.slider.parent().append('<div class="slider-previous-btn"></div><div class="slider-next-btn">');
    }
    this.prevBtn = this.slider.find(".slider-previous-btn");
    this.nextBtn = this.slider.find(".slider-next-btn");
    this.prevBtn.on("click", this.previousImage);
    this.nextBtn.on("click", this.nextImage);
  }

При нажатии ничего не происходит. В консоли пусто. Как заставить кнопки работать?
Полный код:


Нужно чтобы при нажатии срабатывала функция previousImage() или nextImage().
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Привяжите контекст (по аналогии с методами swipeStatus и keyboardHandler):

this.previousImage = this.previousImage.bind(this);
this.nextImage = this.nextImage.bind(this);

Исправьте поиск кнопок (они находятся на одном уровне с контейнером слайдов, от которого вы пляшете, так что сначала надо подняться на уровень выше или вместо find использовать siblings; и селекторы ещё неправильные):

this.prevBtn = this.slider.siblings(".slider-btn.previous");
this.nextBtn = this.slider.siblings(".slider-btn.next");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы