我的网站上有一个slick.js轮播,其中载有3个视频。我希望视频在触发幻灯片后就开始播放,并从视频的开头开始播放,而不是从先前中断的位置继续播放。
我让它通过afterChange
来在加载幻灯片时播放视频,并暂停滑块直到视频结束,但是无法弄清楚如何为第一张幻灯片使用相同的功能。我尝试将类似的代码添加到init
函数中,但似乎根本无法正常工作。我也不确定您将如何迫使视频重新开始。
$('.site-hero')
.on('init',function (e,slick,currentSlide) {
var vid = $(slick.$slides[currentSlide]).find('video');
if (vid.length > 0) {
$(vid).currentTime = 0;
siteHero.slick('slickPause');
$(vid).get(0).play();
}
$('video').on('ended',function () {
siteHero.slick('slickPlay');
});
})
.on('afterChange',function () {
siteHero.slick('slickPlay');
});
});
我的slick.js设置:
$('.site-hero').slick({
autoplay: true,autoplaySpeed: 11500,draggable: false,fade: true,speed: 10,pauseonHover: false
});
我唯一的想法可能是init
函数在video
元素准备好之前就被触发,或者因此无法触发play
。