3款不同图片左右全屏切换特效源码
想象一下,你的网页上有一系列全屏的图片,点击左右按钮或者滑动屏幕,图片可以平滑地左右切换。这种效果不仅美观,而且能为用户带来更好的浏览体验。下面,我将为你提供三种不同的实现方式,每种方式都有其独特的特点和适用场景。
<div class="slider">
<div class="slide active">
<img src="image1.jpg" alt="">
</div>
<div class="slide">
<img src="image2.jpg" alt="">
</div>
</div>
<button class="prev">上一张</button>
<button class="next">下一张</button>
CSS
.slider {
position: relative;
width: 100%;
height: 100vh;
overflow: hidden;
}
.slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 10 0%;
transition: transform 0.5s ease-in-out;
}
.active {
transform: translateX(0);
}
.prev:hover + .slider .active {
transform: translateX(100%);
}
.next:hover + .slider .active {
transform: translateX(-100%);
}
const slides = document.querySelectorAll('.slide');
const prevButton = document.querySelector('.prev');
const nextButton = document.querySelector('.nex t');
let currentSlide = 0;
function showSlide(n) {
slides[currentSlide].classList.remove('acti ve');
currentSlide = (n + slides.length) % slides.length;
slides[currentSlide].classList.add('active');
}
prevButton.addEventListener('click', () => {
showSlide(currentSlide - 1);
});
nextButton.addEventListener('click', () => {
showSlide(currentSli de + 1);
});
<div class="slider">
<div>图片1</div>
<div>图片2</div>
</div>
JavaScript
$('.slider').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
autoplay: true,
autoplaySpeed: 2000
});
以上三种方式各有优劣,选择哪种方式取决于你的项目需求和对技术的掌握程度。纯CSS实现性能好,但功能有限;JavaScript实现灵活度高,但代码量较大;jQuery实现简单方便,但引入了一个额外的库。
你可以根据自己的需求,选择最适合的实现方式,并在此基础上进行扩展和优化。
想了解更多,可以提出以下问题:
如果你需要更具体的代码示例或有其他问题,欢迎随时提出。
温馨提示: 在实际项目中,你可能需要结合多种方式来实现更复杂的幻灯片效果。例如,可以使用CSS3实现基本的切换动画,再用JavaScript来处理一些复杂的交互逻辑。