andreydobrin
@andreydobrin
Сложно , но это пока

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

Есть jQuery код:
$('video').click(function(){
    if($(this).paused == false){
      $(this).get(0).pause()
    }else {
      $(this).get(0).play()
    }
  })

и HTML код:
<video controls="controls" poster="img/poster__html.jpg">
          <source src="videos/html.mp4" type="video/mp4">
    </video>

При нажатии видео запускается, но не останавливается! Что делать?
Если в условии сделать так:
$('video').click(function(){
    if($(this).paused == true){
      $(this).get(0).play()
    }else {
      $(this).get(0).pause()
    }
  })

То сработает все наборот, в чем ошибка в условии?
  • Вопрос задан
  • 2540 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Доступна ли вашему пониманию разница между $(this) и $(this).get(0)?
Ну, в смысле - $(this).paused всегда будет undefined, а вовсе не true или false.

Да и не нужно тут дёргать $, всё гораздо проще:

if (this.paused) {
  this.play();
} else {
  this.pause();
}

// или

this[this.paused ? 'play' : 'pause']();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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