无缝滚动轮播是一种网页设计技术,用于在网页上创建一个连续滚动的图片或内容展示区域。这种效果通常用于广告、新闻、产品展示等场景,以吸引用户的注意力并提供信息。
以下是一个简单的JavaScript实现水平无缝滚动轮播的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Seamless Carousel</title>
<style>
#carousel {
width: 100%;
overflow: hidden;
position: relative;
}
.carousel-inner {
display: flex;
animation: scroll 10s linear infinite;
}
.carousel-item {
min-width: 100%;
box-sizing: border-box;
}
@keyframes scroll {
0% { transform: translateX(0); }
100% { transform: translateX(-100%); }
}
</style>
</head>
<body>
<div id="carousel">
<div class="carousel-inner">
<div class="carousel-item"><img src="image1.jpg" alt="Image 1"></div>
<div class="carousel-item"><img src="image2.jpg" alt="Image 2"></div>
<div class="carousel-item"><img src="image3.jpg" alt="Image 3"></div>
</div>
</div>
<script>
const carouselInner = document.querySelector('.carousel-inner');
const items = document.querySelectorAll('.carousel-item');
// Clone the first item and append it to the end for seamless transition
const firstItemClone = items[0].cloneNode(true);
carouselInner.appendChild(firstItemClone);
// Adjust the animation duration based on the number of items
const duration = (items.length + 1) * 3; // Each item takes 3 seconds
carouselInner.style.animationDuration = `${duration}s`;
</script>
</body>
</html>
pointer-events
属性或在动画暂停时允许用户交互。通过以上方法,可以有效解决无缝滚动轮播中常见的问题,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云