猫头鹰轮播限制循环次数,自动播放超时不会停止循环



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

最新更新