it makes sense to initialize the callback init
to indicate that swiper
should be loaded, but what you get is undefined
, and it"s normal to add a timer. What"s the problem?
html
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
</div>
<!-- -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
JavaScript
window.onload = () => {
new Swiper(".swiper-container", {
// loop: true,
//
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
on: {
init() {
console.log("")
console.log(this.navigation.nextEl) //undefined
setTimeout(() => {
console.log(this.navigation.nextEl); //object
}, 10)
}
}
})
}
undefined
init
demo