我创建了一个自定义视频滑块,可以循环播放4个视频。我在每个视频上都有一个自定义播放按钮,还有一些覆盖内容。播放视频时,叠加内容和播放按钮都会淡出,并且默认的视频控制功能将显现。我的问题是,无论点击哪个视频的播放按钮。它只播放滑块中的第一个视频。我知道我需要针对每个视频的播放按钮并将其与该视频关联起来,但我不能在我的生活中找出如何去做。这里是我的html:控制滑块内的HTML5视频
<div class="video-slider">
<div class="main-wrap">
<div class="slides-view">
<div class="slides">
<div class="slide-gallery">
<div class="slide">
<video id="slider-video" poster="">
<source src="" type="" >
</video>
<div class="overlay-content">
</div>
<div class="play">
<a class="play-button"><img src="" /></a>
</div>
</div>
<div class="slide">
<video id="slider-video" loop poster="">
<source src="" type="" >
</video>
<div class="overlay-content">
</div>
<div class="play">
<a class="play-button"><img src="" /></a>
</div>
</div>
<div class="slide">
<video id="slider-video" loop poster="">
<source src="" type="" >
</video>
<div class="overlay-content">
</div>
<div class="play">
<a class="play-button"><img src="" /></a>
</div>
</div>
<div class="slide">
<video id="slider-video" loop poster="">
<source src="" type=">
</video>
<div class="overlay-content">
</div>
<div class="play">
<a class="play-button"><img src="" /></a>
</div>
</div>
</div><!--end slide-gallery-->
</div><!--end slides-->
</div><!--end slides-view-->
</div><!--end main-wrap-->
<div class="slide-arrow left">
<a><img src="/sites/all/themes/merge/img/video-arrow-left.png" /></a>
</div>
<div class="slide-arrow right">
<a><img src="/sites/all/themes/merge/img/video-arrow-right.png" /></a>
</div>
</div><!--end video-slider-->
而且我的JavaScript/jQuery的:
$(document).ready(function() {
var sliderVideo = document.getElementById('video-slider');
var sliderVideo = $('#slider-video').get(0);
var sliderVideo = $('#slider-video');
var sliderOverlay = $('.video-slider .overlay-content');
$('.play-button').on('click', function() {
sliderVideo[0].play();
sliderOverlay.fadeOut('fast');
$(this).hide()
});
sliderVideo.on('play', function(e) {
$(this).attr('controls', 'true');
})
});
ID必须是唯一的......使用类'.slider-video'。而你过于复杂的JS并且感到困惑 – blex 2015-03-13 18:14:34
是的,那是我的错误,今天发生了太多的项目。然而......这并不能解决我的问题。所有的播放按钮仍然只播放第一个视频 – JordanBarber 2015-03-13 18:38:39
当然,你总是告诉它播放第一个:'sliderVideo [0] .play();'。我正在制作一个JS小提琴。 – blex 2015-03-13 18:44:01