用html+css+jquery写一个健身转盘抽奖系统
时间: 2023-06-11 14:09:21 浏览: 122
好的,下面是一个简单的健身转盘抽奖系统的示例代码:
HTML部分:
```
<div id="roulette">
<div class="roulette-container">
<div class="roulette-item item-1"><span>奖项1</span></div>
<div class="roulette-item item-2"><span>奖项2</span></div>
<div class="roulette-item item-3"><span>奖项3</span></div>
<div class="roulette-item item-4"><span>奖项4</span></div>
<div class="roulette-item item-5"><span>奖项5</span></div>
<div class="roulette-item item-6"><span>奖项6</span></div>
<div class="roulette-item item-7"><span>奖项7</span></div>
<div class="roulette-item item-8"><span>奖项8</span></div>
</div>
<button id="start">开始抽奖</button>
</div>
```
CSS部分:
```
#roulette {
text-align: center;
}
.roulette-container {
margin: 0 auto;
position: relative;
width: 300px;
height: 300px;
}
.roulette-item {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
transform-origin: center center;
display: flex;
justify-content: center;
align-items: center;
}
.item-1 {
background-color: #FF0000;
transform: rotate(0deg);
}
.item-2 {
background-color: #FFA500;
transform: rotate(45deg);
}
.item-3 {
background-color: #FFFF00;
transform: rotate(90deg);
}
.item-4 {
background-color: #008000;
transform: rotate(135deg);
}
.item-5 {
background-color: #0000FF;
transform: rotate(180deg);
}
.item-6 {
background-color: #4B0082;
transform: rotate(225deg);
}
.item-7 {
background-color: #EE82EE;
transform: rotate(270deg);
}
.item-8 {
background-color: #FF1493;
transform: rotate(315deg);
}
#start {
margin-top: 20px;
padding: 10px 20px;
background-color: #008CBA;
color: #FFFFFF;
border: none;
border-radius: 5px;
cursor: pointer;
}
```
JavaScript部分:
```
$(function() {
var $roulette = $('#roulette');
var $startBtn = $('#start');
var $rouletteContainer = $('.roulette-container');
var $rouletteItems = $('.roulette-item');
var itemLength = $rouletteItems.length;
var active = false;
$startBtn.on('click', function() {
if (active) {
return;
}
active = true;
var item = Math.floor(Math.random() * itemLength);
var deg = item * (360 / itemLength) + (360 / itemLength) / 2;
$rouletteContainer.css({
transform: 'rotate(' + deg + 'deg)',
transition: 'all 5s cubic-bezier(0.25, 0.1, 0.25, 1)'
});
setTimeout(function() {
alert('恭喜您抽中了' + $rouletteItems.eq(item).text() + '!');
$rouletteContainer.css({
transform: 'rotate(0deg)',
transition: 'none'
});
active = false;
}, 5500);
});
});
```
这个示例代码使用了jQuery库来简化一些操作。当点击“开始抽奖”按钮时,它会随机选择一个奖项,并将转盘旋转到该奖项。等待5秒钟后,它会弹出一个提示框,告诉用户他们抽中了哪个奖项。在5秒钟的过渡期间,该按钮将被禁用,以防止用户再次点击并中断转盘旋转。
阅读全文