gpt4 book ai didi

javascript - 如何控制轮播中视频的暂停/播放?

转载 作者:行者123 更新时间:2023-11-28 05:24:41 28 4
gpt4 key购买 nike

我有一个使用 flickity carousel library 创建的视频轮播, 见过 here on 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 事件 here on 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);
});

});

将播放选定的视频并暂停任何未选定的视频。

关于javascript - 如何控制轮播中视频的暂停/播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38856265/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com