آموزش ساخت ۷ اسلایدر جذاب با HTML و CSS و JS
اسلایدرها یکی از محبوبترین و زیباترین عناصر در طراحی وب هستند. از نمایش تصاویر گرفته تا انتقال متنهای تبلیغاتی، این ابزارها نقش مهمی در افزایش تعامل کاربران با وبسایت ایفا میکنند. در این مقاله، ۷ نوع اسلایدر را آموزش میدهیم که میتوانید بهراحتی از آنها در پروژههای خود استفاده کنید.
۱. اسلایدر ساده با CSS
این اسلایدر تنها با HTML و CSS ساخته میشود و برای نمایش تصاویر یا متنهای ساده بسیار مناسب است.
کد HTML:
<div id="slider">
<figure>
<img src="">
<img src="">
<img src="">
</figure>
</div>
کد CSS:
#slider {
overflow: hidden;
}
@keyframes slider {
0% { left: 0; }
30% { left: 0; }
33% { left: -100%; }
63% { left: -100%; }
66% { left: -200%; }
95% { left: -200%; }
100% { left: 0; }
}
#slider figure {
width:300%;
position: relative;
animation: 9s slider infinite;
}
#slider figure:hover {
/*animation-play-state: paused; enable for pause on hover*/
}
#slider figure img {
width: 33.333333333%;
height : 100%;
float: left;
}
۲. اسلایدر واکنشگرا با جاوااسکریپت
این نوع اسلایدر با جاوااسکریپت ساخته میشود و امکان نمایش خودکار تصاویر را فراهم میکند.
کد HTML:
<div class="slider">
<div class="slides">
<img src="image1.jpg" alt="تصویر ۱">
<img src="image2.jpg" alt="تصویر ۲">
<img src="image3.jpg" alt="تصویر ۳">
</div>
</div>
کد CSS:
.slider {
overflow: hidden;
position: relative;
width: 100%;
height: 400px;
}
.slides img {
width: 100%;
height: 400px;
object-fit: cover;
}
کد JavaScript:
const slides = document.querySelectorAll('.slides img');
let index = 0;
setInterval(() => {
slides[index].style.display = 'none';
index = (index + 1) % slides.length;
slides[index].style.display = 'block';
}, 3000);
۳. اسلایدر کاروسل با دکمه
این اسلایدر به کاربران اجازه میدهد که با دکمههای «بعدی» و «قبلی» بین تصاویر حرکت کنند.
کد HTML:
<div class="carousel">
<button id="prev">قبلی</button>
<div class="slides">
<img src="image1.jpg" alt="تصویر ۱">
<img src="image2.jpg" alt="تصویر ۲">
<img src="image3.jpg" alt="تصویر ۳">
</div>
<button id="next">بعدی</button>
</div>
کد CSS:
.carousel {
position: relative;
width: 100%;
height: 400px;
}
.carousel button {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px 20px;
cursor: pointer;
}
#prev {
left: 10px;
}
#next {
right: 10px;
}
کد JavaScript:
const prev = document.getElementById('prev');
const next = document.getElementById('next');
const slides = document.querySelectorAll('.slides img');
let index = 0;
function showSlide(i) {
slides.forEach((slide, idx) => {
slide.style.display = idx === i ? 'block' : 'none';
});
}
prev.addEventListener('click', () => {
index = (index - 1 + slides.length) % slides.length;
showSlide(index);
});
next.addEventListener('click', () => {
index = (index + 1) % slides.length;
showSlide(index);
});
showSlide(index);
۴. اسلایدر با افکت محو شدن
این اسلایدر با استفاده از جاوااسکریپت افکت محو شدن تصاویر را هنگام جابهجایی اعمال میکند.
کد HTML:
<div class="fade-slider">
<div class="slides">
<img src="image1.jpg" alt="تصویر ۱">
<img src="image2.jpg" alt="تصویر ۲">
<img src="image3.jpg" alt="تصویر ۳">
</div>
</div>
کد CSS:
.fade-slider {
overflow: hidden;
width: 100%;
height: 400px;
position: relative;
}
.fade-slider .slides img {
position: absolute;
width: 100%;
height: 400px;
object-fit: cover;
opacity: 0;
transition: opacity 1s ease-in-out;
}
کد JavaScript:
const images = document.querySelectorAll('.fade-slider .slides img');
let index = 0;
function changeImage() {
images.forEach(img => img.style.opacity = 0);
images[index].style.opacity = 1;
index = (index + 1) % images.length;
}
setInterval(changeImage, 3000);
۵. اسلایدر چندگانه
این اسلایدر امکان نمایش همزمان چندین تصویر را به شما میدهد و برای گالریهای تصویری مناسب است.
کد HTML:
<div class="multi-slider">
<div class="slides">
<img src="image1.jpg" alt="تصویر ۱">
<img src="image2.jpg" alt="تصویر ۲">
<img src="image3.jpg" alt="تصویر ۳">
</div>
</div>
کد CSS:
.multi-slider {
overflow: hidden;
width: 100%;
height: 300px;
display: flex;
justify-content: space-between;
}
.multi-slider .slides img {
width: 32%;
height: 100%;
object-fit: cover;
}
کد JavaScript:
const slides = document.querySelector('.multi-slider .slides');
let index = 0;
function moveSlides() {
index = (index + 1) % 3;
slides.style.transform = `translateX(-${index * 100}%)`;
}
setInterval(moveSlides, 3000);
۶. اسلایدر تایپشونده
در این اسلایدر متنها بهصورت انیمیشنی تایپ و نمایش داده میشوند.
کد HTML:
<div class="typing-slider">
<p class="typing-text">تایپشده اول</p>
<p class="typing-text">تایپشده دوم</p>
<p class="typing-text">تایپشده سوم</p>
</div>
کد CSS:
.typing-slider {
width: 100%;
height: 100px;
overflow: hidden;
}
.typing-slider .typing-text {
display: none;
font-size: 24px;
color: #333;
font-family: "Courier New", monospace;
white-space: nowrap;
}
کد JavaScript:
const texts = document.querySelectorAll('.typing-slider .typing-text');
let index = 0;
function showText() {
texts.forEach(text => text.style.display = 'none');
texts[index].style.display = 'block';
index = (index + 1) % texts.length;
}
setInterval(showText, 3000);
۷. اسلایدر تمامصفحه
این اسلایدر صفحه را بهطور کامل پوشش میدهد و مناسب برای وبسایتهای با طراحی مینیمال است.
کد HTML:
<div class="full-screen-slider">
<div class="slides">
<img src="image1.jpg" alt="تصویر ۱">
<img src="image2.jpg" alt="تصویر ۲">
<img src="image3.jpg" alt="تصویر ۳">
</div>
</div>
کد CSS:
.full-screen-slider {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
.full-screen-slider .slides img {
width: 100%;
height: 100%;
object-fit: cover;
}
کد JavaScript:
const fullScreenSlides = document.querySelectorAll('.full-screen-slider .slides img');
let index = 0;
function changeSlide() {
fullScreenSlides.forEach(slide => slide.style.display = 'none');
fullScreenSlides[index].style.display = 'block';
index = (index + 1) % fullScreenSlides.length;
}
setInterval(changeSlide, 3000);
نوشتن نظر
برای اضافه کردن نظر یا ویرایش وارد حساب کاربری خود شوید
ورودنظرات پست
هیچ نظری موجود نیست نخستین را شما بگذارید!