要实现双色球的滚动效果,可以使用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="ball-container">
<div class="ball red"></div>
<div class="ball blue"></div>
</div>
<script src="script.js"></script>
</body>
</html>
/* styles.css */
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
}
.ball-container {
position: relative;
width: 200px;
height: 200px;
}
.ball {
position: absolute;
width: 50px;
height: 50px;
border-radius: 50%;
animation: roll 2s linear infinite;
}
.red {
background-color: red;
top: 0;
left: 0;
}
.blue {
background-color: blue;
bottom: 0;
right: 0;
}
@keyframes roll {
0% {
transform: rotate(0deg) translateX(0);
}
50% {
transform: rotate(180deg) translateX(100px);
}
100% {
transform: rotate(360deg) translateX(0);
}
}
// script.js
document.addEventListener('DOMContentLoaded', () => {
const balls = document.querySelectorAll('.ball');
let direction = 1;
setInterval(() => {
balls.forEach(ball => {
const currentTop = parseInt(ball.style.top) || 0;
const newTop = currentTop + (direction * 5);
ball.style.top = `${newTop}px`;
if (newTop > 150 || newTop < 0) {
direction *= -1;
}
});
}, 50);
});
@keyframes
定义了一个名为roll
的动画,使球在水平方向上滚动。setInterval
定时器来不断更新球的位置,实现上下滚动的效果。direction
变量来控制球的滚动方向。通过这种方式,你可以创建一个简单的双色球滚动效果,并根据需要进行调整和扩展。
领取专属 10元无门槛券
手把手带您无忧上云