У меня есть слайдер SplideJS с несколькими слайдами. Мне нужно выполнить действие, когда активен последний ползунок.
Я проверяю документацию, но не нашел никаких упоминаний о такого рода событиях, поэтому пишу сценарий для достижения этой цели, но мне нужна помощь.
Мой код:
// Class for each slide
const splideSlide = document.querySelector('.splide__slide')
// Check if a next element sibling is available
if (splideSlide.nextElementSibling === undefined) {
console.info("On last, I call aother action")
} else {
console.info("Not last")
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Учитывая то, что @CBroe упомянул в комментариях, active может вам подойти.
const maxSlideIndex = document.querySelectorAll("li.splide__slide").length - 1;
secondarySlider = new Splide( '#example', {
perPage : 1,
perMove : 1,
focus : 'center',
trimSpace : false,
autoWidth: true,
} ).mount();
secondarySlider.on("active",function(e){
if (e.index === maxSlideIndex) {
console.info("I'm the last one!");
}
});#example {
max-width: 650px;
}<link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/css/splide.min.css">
<script src = "https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide.min.js"></script>
<div id = "example" class = "splide">
<div class = "splide__track">
<ul class = "splide__list">
<li class = "splide__slide"><img src = "https://placehold.co/600x400/EEE/FF343C" alt = "Sample Image 01"></li>
<li class = "splide__slide"><img src = "https://placehold.co/600x400/EEE/3FF43C" alt = "Sample Image 02"></li>
<li class = "splide__slide"><img src = "https://placehold.co/600x400/AAA/31FF3C" alt = "Sample Image 03"></li>
<li class = "splide__slide"><img src = "https://placehold.co/600x400/EEE/313FFC" alt = "Sample Image 04"></li>
<li class = "splide__slide"><img src = "https://placehold.co/600x400/AAA/3134FF" alt = "Sample Image 05"></li>
<li class = "splide__slide"><img src = "https://placehold.co/600x400/EEE/F1343F" alt = "Sample Image 06"></li>
</ul>
</div>
</div>Первое, что я делаю, это получаю максимальное значение индекса, чтобы знать, какой слайд последний. Это можно было сделать другими способами (например, li.splide__slide:nth-child и затем получить его индекс).
Затем, после инициализации слайдера Splide, я подключаю активный прослушиватель событий и проверяю, совпадает ли индекс текущего активного слайда с индексом последнего li.splide__slide.
Доступно множество мероприятий, splidejs.com/guides/events/#event-list -
active, вероятно, то, на которое вам стоит обратить внимание.