JavaScript图片无缝左右滚动是一种网页特效,通过JavaScript控制图片容器内的图片进行循环滚动,从而实现视觉上的连续滚动效果。
setInterval或requestAnimationFrame来控制滚动。以下是一个简单的JavaScript图片无缝左右滚动的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片无缝滚动</title>
<style>
#scrollContainer {
width: 100%;
overflow: hidden;
white-space: nowrap;
position: relative;
}
#scrollContent {
display: inline-block;
animation: scroll 20s linear infinite;
}
.scrollItem {
display: inline-block;
margin-right: 20px;
}
@keyframes scroll {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
</style>
</head>
<body>
<div id="scrollContainer">
<div id="scrollContent">
<img class="scrollItem" src="image1.jpg" alt="Image 1">
<img class="scrollItem" src="image2.jpg" alt="Image 2">
<img class="scrollItem" src="image3.jpg" alt="Image 3">
<!-- 复制第一张图片到最后以实现无缝滚动 -->
<img class="scrollItem" src="image1.jpg" alt="Image 1">
</div>
</div>
<script>
// 确保图片加载完毕后再开始动画
window.onload = function() {
var scrollContent = document.getElementById('scrollContent');
var firstClone = scrollContent.firstElementChild.cloneNode(true);
scrollContent.appendChild(firstClone);
};
</script>
</body>
</html>setInterval的时间设置,确保CSS动画关键帧设置正确,并且确保复制的第一张图片已正确添加到末尾以实现无缝循环。display: inline-block来保持水平排列。通过以上方法,可以有效解决大部分JavaScript图片无缝左右滚动中遇到的问题。
没有搜到相关的文章