图片滚动焦点图放大是一种常见的网页设计效果,通常用于展示一系列图片,并允许用户通过滚动或点击导航按钮来切换焦点图。当某个图片成为焦点时,它会放大显示,以吸引用户的注意力并提供更详细的视图。
以下是一个简单的JavaScript实现图片滚动焦点图放大的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Slider with Zoom</title>
<style>
#slider {
width: 80%;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.slide {
width: 100%;
height: auto;
transition: transform 0.5s ease;
}
.nav-button {
position: absolute;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
}
#prev {
left: 10px;
}
#next {
right: 10px;
}
</style>
</head>
<body>
<div id="slider">
<img src="image1.jpg" class="slide" alt="Image 1">
<img src="image2.jpg" class="slide" alt="Image 2">
<img src="image3.jpg" class="slide" alt="Image 3">
<button id="prev" class="nav-button">Prev</button>
<button id="next" class="nav-button">Next</button>
</div>
<script>
const slider = document.getElementById('slider');
const slides = document.querySelectorAll('.slide');
let currentIndex = 0;
function showSlide(index) {
slides.forEach((slide, i) => {
slide.style.transform = `translateX(${(i - index) * 100}%) scale(${i === index ? 1.5 : 1})`;
});
}
document.getElementById('prev').addEventListener('click', () => {
currentIndex = (currentIndex - 1 + slides.length) % slides.length;
showSlide(currentIndex);
});
document.getElementById('next').addEventListener('click', () => {
currentIndex = (currentIndex + 1) % slides.length;
showSlide(currentIndex);
});
// Optional: Auto-play functionality
setInterval(() => {
currentIndex = (currentIndex + 1) % slides.length;
showSlide(currentIndex);
}, 3000);
</script>
</body>
</html>
transform
属性和JavaScript中的索引计算逻辑。通过以上方法,可以有效实现图片滚动焦点图放大效果,并解决常见的问题。
领取专属 10元无门槛券
手把手带您无忧上云