我如何控制暂停/播放视频在旋转木马
How do I control pausing/playing with videos in a carousel?
我用flickity carousel库创建了一个视频carousel,在codepen上可以看到。我想要的是当用户滑动旋转木马时,选中的幻灯片停止播放,然后选择中间位置的幻灯片开始播放。现在,使用jQuery,我让选定的幻灯片开始播放:
$(document).ready(function () {
var $partnerSlides = $('.partner-slides').flickity();
function onLoadeddata(event) {
var cell = $partnerSlides.flickity('getParentCell', event.target);
$partnerSlides.flickity('cellSizeChange', cell && cell.element);
}
$partnerSlides.find('.slide video').each(function (i, video) {
video.pause();
$(video).on('durationchange', onLoadeddata);
});
$partnerSlides.find('.slide.is-selected video').each(function (i, video) {
video.play();
$(video).on('durationchange', onLoadeddata);
});
});
但是当幻灯片切换位置时,所选的幻灯片只是移动位置并继续播放,而新幻灯片处于中间位置而不播放。
是否有一种方法来更新这些功能,每次旋转木马滑动?
我实际上想出了我认为最好的方法。旋转木马有一个事件,'settle.flickity'
,每次旋转木马在滑动或自动播放后静止时触发(更多关于flickity
事件的信息请参阅此处的flickity)。因此,这段代码:
var $gallery = $('.partner-slides').flickity(); //this is the carousel
$gallery.on('settle.flickity', function () {
console.log('Flickity settled at ' + flkty.selectedIndex);
$gallery.find('.slide video').each(function (i, video) {
video.pause();
$(video).on('loadeddata', onLoadeddata);
});
$gallery.find('.slide.is-selected video').each(function (i, video) {
video.play();
$(video).on('loadeddata', onLoadeddata);
});
});
将播放选中的视频,并暂停任何未选中的视频
相关文章:
- 在移动设备中自动播放视频
- Twitter Boostrap:模式窗口在重新播放模式窗口后不播放视频
- 可以't从peerConnection Connection播放视频
- 在一天中的某个时间自动在我的网站上播放视频
- 如何使用videojs开始播放视频时不显示字幕
- 鼠标悬停时播放视频/鼠标悬停时显示缩略图
- jwplayer seek()和onTime()来播放视频片段
- 噩梦与YouTube API和播放视频工作
- 使用MediaSource扩展播放视频播放列表
- Jwplayer可以'不要在Chrome中播放视频
- 使用Javascript在黑莓设备上播放视频
- video.js,播放视频,但在IE10上没有声音
- 在播放视频时调整屏幕大小
- youtube API播放视频、pauseVideo和stopVideo不工作
- 滚动播放视频,但只能播放一次
- 在安卓设备上使用html5播放视频
- 使用jquery循环播放视频
- 播放视频时如何隐藏标题
- 如何在 HTML 中播放视频
- 通过脚本播放视频在安卓上不起作用