要在JavaScript中实现类似果冻的弹性动画效果,通常可以使用CSS的transform
属性结合JavaScript来控制动画。以下是一个简单的示例,展示如何使用CSS和JavaScript创建一个果冻效果的方块:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Jelly Effect</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="jelly-box" id="jellyBox"></div>
<script src="script.js"></script>
</body>
</html>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
}
.jelly-box {
width: 100px;
height: 100px;
background-color: #ff6ec4;
border-radius: 10px;
transition: transform 0.5s ease-out, box-shadow 0.5s ease-out;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
document.getElementById('jellyBox').addEventListener('click', function() {
// 随机生成一个位移值
const randomX = Math.random() * 20 - 10; // 在-10到10之间
const randomY = Math.random() * 20 - 10;
// 应用位移和缩放效果
this.style.transform = `translate(${randomX}px, ${randomY}px) scale(1.2)`;
this.style.boxShadow = `0 12px 20px rgba(0, 0, 0, 0.2)`;
// 在动画结束后恢复原始状态
setTimeout(() => {
this.style.transform = `translate(0, 0) scale(1)`;
this.style.boxShadow = `0 4px 6px rgba(0, 0, 0, 0.1)`;
}, 500);
});
div
元素作为果冻效果的主体。div
时,随机生成一个位移值,并应用位移和缩放效果,模拟果冻的弹性动画。动画结束后,恢复原始状态。通过这种方式,你可以轻松地在网页中实现类似果冻的弹性动画效果。
领取专属 10元无门槛券
手把手带您无忧上云