要实现图片不间断向上滚动的效果,可以使用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="scrolling-container">
<div class="scrolling-content">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
<img src="image3.jpg" alt="Image 3">
<!-- 可以继续添加更多图片 -->
</div>
</div>
<script src="script.js"></script>
</body>
</html>
/* styles.css */
body {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
}
.scrolling-container {
width: 80%;
overflow: hidden;
position: relative;
}
.scrolling-content {
display: flex;
flex-direction: column;
animation: scroll-up 10s linear infinite;
}
.scrolling-content img {
width: 100%;
height: auto;
}
@keyframes scroll-up {
0% {
transform: translateY(100%);
}
5% {
transform: translateY(0);
}
95% {
transform: translateY(0);
}
100% {
transform: translateY(-100%);
}
}
// script.js
document.addEventListener("DOMContentLoaded", function() {
const container = document.querySelector('.scrolling-container');
const content = document.querySelector('.scrolling-content');
// 复制内容以实现无缝滚动
const clone = content.cloneNode(true);
container.appendChild(clone);
// 调整动画持续时间以匹配内容高度
const contentHeight = content.offsetHeight;
const duration = (contentHeight / container.offsetHeight) * 10;
content.style.animationDuration = `${duration}s`;
clone.style.animationDuration = `${duration}s`;
});
@keyframes
定义向上滚动的动画效果。通过设置transform: translateY()
来实现滚动效果。通过以上代码和解释,你应该能够实现一个简单且高效的不间断向上滚动图片效果。如果遇到任何问题,可以检查CSS动画设置和JavaScript逻辑是否正确。
领取专属 10元无门槛券
手把手带您无忧上云