Skip to content

Instantly share code, notes, and snippets.

@risuvoo
Created December 8, 2025 07:05
Show Gist options
  • Select an option

  • Save risuvoo/feeca81204df92962e68e04c890ab643 to your computer and use it in GitHub Desktop.

Select an option

Save risuvoo/feeca81204df92962e68e04c890ab643 to your computer and use it in GitHub Desktop.
Show navigation button based on element possition
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Swiper demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
<!-- Link Swiper's CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
<!-- Swiper -->
<div class="mySwiper">
<div class="swiper">
<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 class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
<div class="swiper-slide">Slide 6</div>
<div class="swiper-slide">Slide 7</div>
<div class="swiper-slide">Slide 8</div>
<div class="swiper-slide">Slide 9</div>
</div>
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
<!-- Swiper JS -->
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<!-- Initialize Swiper -->
<script>
const newsSlider1 = document.querySelector(".mySwiper .swiper");
const prevButton = document.querySelector(".swiper-button-prev");
const nextButton = document.querySelector(".swiper-button-next");
if (newsSlider1) {
const swiper = new Swiper(newsSlider1, {
slidesPerView: 4,
spaceBetween: 30,
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
on: {
init: function () {
// Hide prev button on init if first slide is active
if (this.isBeginning && prevButton) {
prevButton.style.opacity = "0";
}
// Hide next button on init if last slide is active
if (this.isEnd && nextButton) {
nextButton.style.opacity = "0";
}
},
slideChange: function () {
// Handle prev button visibility
if (this.isBeginning && prevButton) {
prevButton.style.opacity = "0";
} else if (prevButton) {
prevButton.style.opacity = "1";
}
// Handle next button visibility
if (this.isEnd && nextButton) {
nextButton.style.opacity = "0";
} else if (nextButton) {
nextButton.style.opacity = "1";
}
},
},
});
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment