Запустить другую функцию в зависимости от того, какой элемент был нажат - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть две кнопки «Следующая» и «Предыдущая», которые корректно вызывают соответствующую функцию при нажатии.Тем не менее, мне нужно дать родительскому слушателю transitionend, который запускает различные функции в зависимости от того, какая кнопка была нажата.

Мой код:

      this.next = this.story.nextSibling.nextSibling;
      this.prev = this.story.nextSibling;
      this.next.addEventListener('click', evt => this.nextButton(evt));
      this.prev.addEventListener('click', evt => this.prevButton(evt));
      this.story.addEventListener('transitionend', evt => this.moveBack(evt));

Это работает правильно при нажатии следующей кнопки (так как функция «moveBack» запускает перемещение слайда).Я не знаю, как вызвать это для предыдущей кнопки, но запустить функцию "moveForward"

Спасибо

1 Ответ

0 голосов
/ 20 декабря 2018

Самый простой способ - сохранить текущее направление анимации в переменной:

  this.next = this.story.nextSibling.nextSibling;
  this.prev = this.story.nextSibling;
  this.next.addEventListener('click', evt => { this.dir = 'next'; this.nextButton(evt); });
  this.prev.addEventListener('click', evt => { this.dir = 'prev'; this.prevButton(evt); });
  this.story.addEventListener('transitionend', evt => {
    if(this.dir === 'next') {
       this.moveBack(evt);
    } else {
       this.moveForward(evt);
    }
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...