autoPlayTimeout不是用来停止自动播放的吗:true?因为无论我尝试什么,猫头鹰旋转木马都不会停止。
$('.owl-carousel').owlCarousel({
items: 1,
autoplay:true,
autoPlaySpeed:500,
autoPlayTimeout:5000,
autoPlayHoverPause:true,
loop:true,
当然,其他人想要的不是永远循环,因为这很烦人。
您可以将"stop.owl.autoplay"触发器与计时器结合起来,在浏览每张幻灯片一次、两次或任意次数后停止转盘。
为了循环两次并停止,您可以使用以下配置:
- 循环:true
- autoplayTimeout:1000(1秒仅用于示例(
- 项目:1
现在有了这些选项,您的滑块将永远循环,显示一张幻灯片1秒,然后移动到下一张。
为了在浏览每张幻灯片两次后停止它,您可以使用owl提供的"onInitialized"事件,并在滑块初始化时调用一个函数。假设你总共有3张幻灯片,所以如果你想在第二次循环后停止,你必须等待6000ms(6秒(。
因此,在回调函数中,您可以设置一个计时器,使滑块在第6秒停止。转盘示例:
let $carousel = $('.carousel');
let itemsCount = Number($('.carousel').attr("data-items"));
let autoplayTimeout = 1000;
let loops = 2;
$carousel.owlCarousel({
loop: true,
autoplay: true,
nav: true,
dots: true,
items: 1,
autoplayTimeout: autoplayTimeout,
// Stops after the second cycle
onInitialized : stopTimer({
itemsCount,
autoplayTimeout,
loops
}),
});
function stopTimer(params) {
setTimeout(
function() {
$carousel.trigger('stop.owl.autoplay');
},
params.itemsCount * Number(params.autoplayTimeout) * params.loops
);
}
您可以在这里找到更多由owl提供的活动。希望这会有所帮助!:(
要停止猫头鹰转盘,您可以触发:
$('.owl-carousel').trigger('stop.owl.autoplay')
JSFiddle