gpt4 book ai didi

javascript - 在 glider.js 上实现自动播放

转载 作者:行者123 更新时间:2023-12-05 00:56:40 25 4
gpt4 key购买 nike

所以我在我的网站上使用 glider.js (https://nickpiscitelli.github.io/Glider.js/) 来处理幻灯片,因为我真的想保持最小化(我知道那里还有其他 slider ,但 glider.js 是最轻的) .但是,我确实需要自动播放功能,但我似乎无法让它工作(我不太了解我的 JS 方法,我只是复制代码片段以获得我需要的东西)

我找到了一些自动播放的代码,它看起来像这样:

function sliderAuto(slider, miliseconds) {
slider.isLastSlide = function() {
return slider.page >= slider.dots.childElementCount - 1;
}

var slide = function() {
slider.slideTimeout = setTimeout(function() {
function slideTo() {
return slider.isLastSlide() ? 0 : slider.page + 1;
}

slider.scrollItem(slideTo(), true);
}, miliseconds);
}

slider.ele.addEventListener('glider-animated', function(event) {
window.clearInterval(slider.slideTimeout);
slide();
});

slide();
}

但我不知道如何激活它,让它工作。我知道我应该将参数传递给“ slider ”和“毫秒”,但我不知道我到底应该传递什么,我应该为每张幻灯片设置一个特殊的类,然后传递那个类吗?假设我的 html 如下:

<div class="glider-contain">
<div class="glider">
<div>your content here</div>
<div>your content here</div>
<div>your content here</div>
<div>your content here</div>
</div>

如何使自动播放工作?谢谢!

最佳答案

根据您链接的文档和代码片段,我想说首先,slider 参数应该是您的滑翔机对象(您使用 new Glidder(...milliseconds 创建的是每张幻灯片可见的时间量(以毫秒为单位)。

现在,它可能看起来像一个例子:

<div class="glider-contain">
<div id="glider" class="glider">
<div class="placeholder">1</div>
<div class="placeholder">2</div>
<div class="placeholder">3</div>
<div class="placeholder">4</div>
</div>
</div>
const glider = new Glider(document.getElementById('glider'));

function sliderAuto(slider, miliseconds) {
const slidesCount = slider.track.childElementCount;
let slideTimeout = null;
let nextIndex = 1;

function slide () {
slideTimeout = setTimeout(
function () {
if (nextIndex >= slidesCount ) {
nextIndex = 0;
}
slider.scrollItem(nextIndex++);
},
miliseconds
);
}

slider.ele.addEventListener('glider-animated', function() {
window.clearInterval(slideTimeout);
slide();
});

slide();
}

sliderAuto(glider, 1000)

我对片段进行了一些编辑,因为您似乎没有使用点。 working fiddle

关于javascript - 在 glider.js 上实现自动播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62122998/

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