8
是否可以在html5自帶視頻中使用slick.js來播放和暫停視頻而無需用戶交互?Slick.js和html5視頻在視頻上自動播放和暫停
我目前有以下代碼有一個垂直滑動幻燈片的雙滑塊和主要部分,大圖像和視頻將出現並自動滾動。這將在電視上託管,因此不會有用戶交互。
我怎麼能有一個包含完全一旦它出現視頻播放幻燈片,一旦它完成,繼續幻燈片和無限重複。視頻可能包含各種長度,因此需要動態檢測長度。
我試着在this question上實現代碼,但是我無法讓我的例子工作。
<div id="slideBox">
<!--Sidebar-->
<div class="sliderSidebar">
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100/C8102E/FFFFFFF?text=Video" /></div>
</div>
<div id="main-image" class="sliderMain">
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div id="slide-video">
<video autoplay loop width="900px">
<source src="video/SampleVideo.mp4" />
</video>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.sliderMain').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
fade: true,
asNavFor: '.sliderSidebar',
autoplay: true,
autoplaySpeed: 3000,
onAfterChange : function() {
player.stopVideo();
}
});
$('.sliderSidebar').slick({
slidesToShow: 5,
slidesToScroll: 1,
asNavFor: '.sliderMain',
dots: false,
centerMode: false,
focusOnSelect: true,
vertical: true,
arrows: false
});
var video = $('.sliderMain .slick-active').find('video').get(0).play();
$('.sliderMain').on('afterChange', function(event, slick, currentSlide, nextSlide){
$('.sliderMain .slick-slide').find('video').get(0).pause();
var video = $('.sliderMain .slick-active').find('video').get(0).play();
});
});
</script>
感謝您的幫助。我把這個小提琴放在一起。 [鏈接](https://jsfiddle.net/38oj9xrd/) 我試圖實現你的代碼,並跑進一個反覆出現的問題,我得到這個消息: 遺漏的類型錯誤:$(...)戲不是功能 –
修復了一下代碼+添加了我自己的工作JSFiddle –
非常感謝!這爲我節省了很多頭痛。相同/類似的解決方案是否適用於Youtube和Vimeo,還是我需要參考他們的API? –