以下是一个简单的示例,演示如何使用JavaScript实现一个模拟抽奖的动画效果:
HTML部分:
html
CSS部分:
css
#lottery {
width: 300px;
height: 300px;
position: relative;
}
#wheel {
width: 200px;
height: 200px;
border-radius: 50%;
background-color: yellow;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: transform 2s;
}
#startButton {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
JavaScript部分:
javascript
const startButton = document.getElementById('startButton');
const wheel = document.getElementById('wheel');
startButton.addEventListener('click', () => {
// 随机生成一个旋转角度
const rotate = Math.floor(Math.random() * 3600) + 720;
// 设置过渡样式
wheel.style.transition = 'transform 2s';
wheel.style.transform = `rotate(${rotate}deg)`;
// 等待动画结束
setTimeout(() => {
// 清除过渡样式
wheel.style.transition = 'none';
// 计算抽奖结果
const result = Math.floor(rotate % 360 / 60);
// 根据结果执行相应操作
switch (result) {
case 0:
alert('恭喜您中了一等奖!');
break;
case 1:
alert('恭喜您中了二等奖!');
break;
case 2:
alert('恭喜您中了三等奖!');
break;
case 3:
alert('恭喜您中了四等奖!');
break;
case 4:
alert('恭喜您中了五等奖!');
break;
case 5:
alert('恭喜您中了六等奖!');
break;
}
}, 2000);
});
在这个示例中,点击"开始抽奖"按钮后,会随机生成一个旋转角度,然后通过设置`transform`属性实现转盘的旋转动画效果。当动画结束后,根据旋转的角度计算出抽奖结果,并弹出相应的提示框。