要实现图片向上滚动的效果,可以使用JavaScript结合CSS动画来完成。下面是一个简单的示例,展示如何使用纯JavaScript和CSS来实现图片向上滚动的效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片向上滚动</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="scroll-container">
<img src="image1.jpg" alt="Image 1" class="scroll-image">
<img src="image2.jpg" alt="Image 2" class="scroll-image">
<img src="image3.jpg" alt="Image 3" class="scroll-image">
<!-- 添加更多图片 -->
</div>
<script src="script.js"></script>
</body>
</html>
/* styles.css */
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #f0f0f0;
}
.scroll-container {
display: flex;
flex-direction: column;
animation: scrollUp 10s linear infinite;
}
.scroll-image {
width: 100%;
height: auto;
}
@keyframes scrollUp {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-100%);
}
}
// script.js
document.addEventListener("DOMContentLoaded", function() {
const container = document.querySelector('.scroll-container');
const images = document.querySelectorAll('.scroll-image');
let currentIndex = 0;
function scrollImages() {
container.style.animationPlayState = 'running';
container.addEventListener('animationiteration', () => {
currentIndex = (currentIndex + 1) % images.length;
// Reset the container's transform to create a continuous loop
container.style.transform = `translateY(0)`;
});
}
scrollImages();
});
div
,每张图片都有一个共同的类名scroll-image
。flex-direction: column
将图片垂直排列。@keyframes
定义一个名为scrollUp
的动画,使容器从初始位置向上移动100%的高度。.scroll-container
上,并设置为无限循环。DOMContentLoaded
事件,确保DOM完全加载后再执行脚本。scrollImages
函数,设置动画播放状态为运行,并在每次动画迭代结束时重置容器的位置,以实现连续滚动效果。transform: translateZ(0);
。通过以上方法,你可以实现一个简单且流畅的图片向上滚动效果。
领取专属 10元无门槛券
手把手带您无忧上云