Гніздовий слайдер: Налаштування через JavaScript

Esl ввів Nestable Slider в версії 1.5, використовуючи бібліотеку SplideJS.

Ця стаття призначена для розробників, які навчать вас, як отримати доступ до екземпляра Splide і налаштувати його.

Усі ініційовані екземпляри Splide зберігаються і можуть бути доступні через window.eslData.splideInstances.

Спочатку вам потрібно визначити унікальний ідентифікатор елемента Nestable Slider, щоб отримати відповідний екземпляр з змінної. Ви можете знайти цей ідентифікатор в системі при редагуванні цього елемента або через інструменти розробника вашого браузера.

Згідно з наведеним вище прикладом, я можу отримати доступ до мого екземпляра Splide через window.eslData.splideInstances['rrbqsp'].

Якщо ви присвоїли своєму Slider власний CSS ID, зверніть увагу, що цей ID не є таким же, як ID елемента. У таких випадках ви повинні отримати правильний ID елемента через інструменти розробника вашого браузера.

Оновлення параметрів Nestable Slider через JavaScript

Мета: Оновити параметр noDrag для всіх Nestable Sliders на поточній сторінці.

<script>document.addEventListener('DOMContentLoaded', (event) => {// Визначте функцію для оновлення параметра no-drag для всіх instancів splide на сторінціconst updateNoDragOption = () => {for( const splideId in window.eslData.splideInstances ) {const splideInstance = window.eslData.splideInstances[splideId]if ( splideInstance ) {// Повідомте Splide, що будь-які елементи з класом .no-drag не є перетаскувальнимиplideInstance.options = { noDrag : '.no-drag' }}}}// Потрібно деяке затримка для Esl для ініціалізації слайдерівsetTimeout(updateNoDragOption, 250)})</script>

Користувацькі навігаційні стрілки поза слайдером

Мета: Реалізувати користувацькі навігаційні кнопки, розташовані поза Nestable Slider.

Будь ласка, задайте унікальні класи для ваших кнопок. У нашому прикладі ми призначили CSS класи my-prev та my-next.

Далі, розмістіть елемент коду і напишіть простий JavaScript. Не забудьте увімкнути ВКЛ. прапорець Виконати код. (Стрілки для слайдера залишилися ВИМКНЕНИМИ)

<script>document.addEventListener('DOMContentLoaded', (event) => {// Дайте трохи часу для ініціалізації Esl слайдерівsetTimeout(() => {// Будь ласка, замініть rrbqsp на ID вашого елемента Slider !!НЕ ID CSS!!const mySlider = window.eslData?.splideInstances['rrbqsp'] || false// Будь ласка, замініть класи кнопок відповідно до вашого сценаріюconst myPrevBtn = document.querySelector('.my-prev')const myNextBtn = document.querySelector('.my-next')if (mySlider && myPrevBtn && myNextBtn) {// Додати обробники подій для ваших власних кнопокmyPrevBtn.addEventListener('click', function () {mySlider.go('-1') // go() функція у SplideJS})myNextBtn.addEventListener('click', function () {mySlider.go('+1') // go() функція у SplideJS})}}, 250)})</script>