Сериалы Вам

Как остановить видео в модальном окне, при закрытии этого окна?

Веб-разработчики сталкиваются с проблемой автоматического воспроизведения видео на сайте. Очень важно остановить видео, когда пользователь закрывает модальное окно, чтобы не допустить его дальнейшего воспроизведения на заднем фоне. В этой статье мы рассмотрим, как это сделать.

Использование JS для остановки видео

JavaScript позволяет перехватить закрытие модального окна и остановить воспроизведение видео. Для этого используются следующие методы:

  1. querySelector(): для получения элемента <video> в модальном окне.
  2. addEventListener(): для отслеживания события закрытия модального окна.
  3. pause(): для остановки воспроизведения видео.
const modal = document.querySelector('.modal');
const video = modal.querySelector('video');

modal.addEventListener('hidden.bs.modal', function () {
  video.pause();
});

Использование HTML атрибутов

HTML предоставляет атрибут data-dismiss, который закрывает модальное окно и выполняет определенные действия, когда оно закрывается. Можно использовать этот атрибут для остановки воспроизведения видео.

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-body">
        <video src="myvideo.mp4" autoplay></video>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal" onclick="stopVideo()">Close</button>
      </div>
    </div>
  </div>
</div>

Здесь вызывается функция stopVideo(), которая останавливает воспроизведение видео.

function stopVideo() {
  const video = document.querySelector('video');
  video.pause();
}

Заключение

Остановка видео при закрытии модального окна очень важна для улучшения пользовательского опыта. Выберите любой из предложенных методов и включите его в свой проект, чтобы убедиться в эффективности этой функции.