index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css"> <title>Image slider</title> </head> <body> <h1>Image Slider</h1> <div class="slider"> <div class="slides"> <img src="image1.JPG" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.JPG" alt="Image 3"> </div> <button class="prev" onclick="changeSlide(-1)">Previous</button> <button class="next" onclick="changeSlide(1)">Next</button> </div> <script src="script.js"></script> </body> </html>
style.css
.slider { position: relative; max-width: 800px; margin: auto; } .slides { display: flex; overflow-x: hidden; width: 500px; height: 300pxs; } h1{ text-align: center; } .slides img { width: 100%; display: block; } button { position: absolute; top: 50%; transform: translateY(-50%); padding: 10px; background-color: #333; color: #fff; border: none; cursor: pointer; } .prev { left: 0; } .next { right: 0; }
script.js
let slideIndex = 1; showSlide(slideIndex); function changeSlide(n) { showSlide(slideIndex += n); } function showSlide(n) { const slides = document.getElementsByClassName("slides")[0].getElementsByTagName("img"); if (n > slides.length) { slideIndex = 1; } if (n < 1) { slideIndex = slides.length; } for (let i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } slides[slideIndex - 1].style.display = "block"; }