v1996v04v04
@v1996v04v04

Как сделать на одну кнопку два разных( в моем случаи противоположных) события?

Всем привет! Только изучаю js, еще не дошел до решения такой задачи, которая у меня возникала. Есть кнопка, один клик-пауза, второй клик по ней же -старт. Желательно на jQuery. В голове крутится, но не могу сообразить..
  • Вопрос задан
  • 1109 просмотров
Решения вопроса 2
Храните состояние.
function Player(element) {
    this.element = element;
    this.state = {
      isPlaying: false;
    };
    // сохраняем контекст нашего класса для хэндлера события
    this.toggle = this.toggle.bind(this);
    this.element.addEventListener('click', this.toggle );
}
// функция, меняющая state нашего контрола и выполняющая какое-то действие в зависимости от этого state
Player.prototype.toggle = function(event) {
    this.state.isPlaying = !this.state.isPlaying;
    if (this.state.isPlaying) {
          this.play();
    } else {
         this.stop();
    }
    
};
// очищаем сообытия
Player.prototype.destroy = function() {
    this.element.removeEventListener('click', this.toggle);
};
// 
Player.prototype.play = function() {};
Player.prototype.pause = function() {};

// использовать как:
var player = new Player(domElement);
Ответ написан
Комментировать
так jsfiddle
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
при клике вешаешь какой нить класс. в двух словах - пишешь условие, что при клике на кнопку без этого класса - она будет play, а если класс уже присутствует - то pause
Ответ написан
Ваш ответ на вопрос

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

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