<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple Slider</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="slider-container">
<div class="slider">
<div class="slide"><img src="https://via.placeholder.com/600x300/ff7f7f/333333?text=Slide+1" alt="Slide 1"></div>
<div class="slide"><img src="https://via.placeholder.com/600x300/7fbfff/333333?text=Slide+2" alt="Slide 2"></div>
<div class="slide"><img src="https://via.placeholder.com/600x300/7fff7f/333333?text=Slide+3" alt="Slide 3"></div>
</div>
<button class="prev">❮</button>
<button class="next">❯</button>
</div>
<script src="script.js"></script>
</body>
</html>
HTML* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.slider-container {
position: relative;
width: 80%;
max-width: 600px;
margin: auto;
overflow: hidden;
border-radius: 10px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
.slider {
display: flex;
transition: transform 0.5s ease-in-out;
}
.slide {
min-width: 100%;
}
.slide img {
width: 100%;
display: block;
}
.prev, .next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
font-size: 18px;
border-radius: 5px;
}
.prev { left: 10px; }
.next { right: 10px; }
.prev:hover, .next:hover {
background: rgba(0, 0, 0, 0.8);
}
const slider = document.querySelector(".slider");
const slides = document.querySelectorAll(".slide");
const prev = document.querySelector(".prev");
const next = document.querySelector(".next");
let index = 0;
function showSlide(i) {
if (i < 0) {
index = slides.length - 1;
} else if (i >= slides.length) {
index = 0;
} else {
index = i;
}
slider.style.transform = `translateX(${-index * 100}%)`;
}
prev.addEventListener("click", () => showSlide(index - 1));
next.addEventListener("click", () => showSlide(index + 1));
setInterval(() => showSlide(index + 1), 3000); // Auto slide every 3 seconds