У меня есть неиграющий слайдер с изображениями и HTML5 видео. Моя цель - воспроизвести видео, если текущим слайдом является видео.
Если пользователь перемещается к следующему слайду, воспроизводимое в данный момент видео должно быть приостановлено.
Если следующим слайдом является видео, оно должно начать воспроизводиться.
Мой следующий код работает, но только для первого видео в слайдере. Все последующие видео, кажется, игнорируют функцию воспроизведения, хотя журналы консоли правильны.
// PLAY IF FIRST SLIDE IS VIDEO
$('.bs-swiper').on('init', function(event, slick){
if ($('.slick-current .bs-item figure').hasClass('bs-video')) {
$('video.bs-media')[0].play();
console.log('play if first slide is a video!');
}
});
// PLAY/PAUSE IF VIDEO
$('.bs-swiper').on('afterChange', function(event, slick, currentSlide, nextSlide){
if ($('.slick-current .bs-item figure').hasClass('bs-video')) {
$('video.bs-media')[0].play();
console.log('play this video slide!');
}
});
$('.bs-swiper').on('beforeChange', function(event, slick, currentSlide, nextSlide){
if ($('.slick-current .bs-item figure').hasClass('bs-video')) {
$('video.bs-media')[0].pause();
console.log('pause this video slide!');
}
});
Поскольку я не javascript -pro, было бы здорово, если бы кто-то мог помочь отрегулировать мой код, чтобы каждый элемент видео в слайдере воспроизводился, если это текущий слайд. Прямо сейчас воспроизводится только первое видео в слайдере. Все остальные видео в слайдере не запускаются, даже если журналы консоли запускаются правильно.
Большое спасибо за вашу помощь заранее!