jquery实现抽奖功能
本文实例为大家分享了jquery实现抽奖功能的具体代码,供大家参考,具体内容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#lottery {
width: 570px;
height: 510px;
margin: 0px auto;
border: 4px solid #ba1809;
}
#lottery table {
background-color: yellow;
}
#lottery table td {
position: relative;
width: 190px;
height: 170px;
text-align: center;
color: #333;
font-index: -999
}
#lottery table td img {
display: block;
width: 190px;
height: 170px;
}
#lottery table td a {
width: 190px;
height: 170px;
display: block;
text-decoration: none;
background: url(img/9.jpg) no-repeat top center;
}
#lottery table td a:hover {
background-image: url(img/11.jpg);
}
#lottery table td.active .mask {
display: block;
}
.mask {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
background-color: rgba(252, 211, 4, 0.5);
display: none;
}
</style>
</head>
<body>
<div id="lottery">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="lottery-unit lottery-unit-0">
<img src="img/1.jpg">
<div class="mask"></div>
</td>
<td class="lottery-unit lottery-unit-1">
<img src="img/2.jpg">
<div class="mask"></div>
</td>
<td class="lottery-unit lottery-unit-2">
<img src="img/3.jpg">
<div class="mask"></div>
</td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-7">
<img src="img/4.jpg">
<div class="mask"></div>
</td>
<!-- 点击触发抽奖 -->
<td><a href="#" rel="external nofollow" ></a></td>
<td class="lottery-unit lottery-unit-3">
<img src="img/5.jpg">
<div class="mask"></div>
</td>
</tr>
<tr>
<td class="lottery-unit lottery-unit-6">
<img src="img/6.jpg">
<div class="mask"></div>
</td>
<td class="lottery-unit lottery-unit-5">
<img src="img/7.jpg">
<div class="mask"></div>
</td>
<td class="lottery-unit lottery-unit-4">
<img src="img/8.jpg">
<div class="mask"></div>
</td>
</tr>
</table>
</div>
<script src="js/jquery.js"></script>
<script type="text/javascript">
var lot = $(".lottery-unit");
var nowIndex = -1; //记录添加激活类的下标
var btn = $("table").find("a")
console.log(btn)
var curIndex = null; //记录上一次坐标
var round = 0; //记录移动几圈
var n = 0; //记录移动了多少次
var timer = null; //旋转计时器
var priceIndex = (Math.random()*lot.length) | 0; //中奖的下标
console.log(priceIndex)
var isClick = true;
function move(){
n++;
nowIndex++;
if(n%8==0){
round++;
console.log("跑了"+round+"圈");
if(round>=3){
clearInterval(timer);
timer = setInterval(move,50)
}
if(round > 8){
clearInterval(timer);
timer = setInterval(move,1000)
}
}
// 第二种方式
// if(n>=8 && n<12){
// clearInterval(timer)
// timer = setInterval(move,50)
// }
// if(n>=12){
// clearInterval(timer)
// timer = setInterval(move,50)
// }
lot.filter(".lottery-unit-"+nowIndex).addClass("active")
// 当curIndex为0时,布尔值为false,所以要加curIndex==0
if(curIndex || curIndex==0){
lot.filter(".lottery-unit-"+curIndex).removeClass("active")
}
curIndex = nowIndex;
// 如何实现中奖
if(nowIndex == priceIndex && round > 8){
clearInterval(timer);
if(priceIndex==1){
setTimeout(function(){
alert("111111")
},1000)
}
// 重置参数
isClick = true;
round = 0;
nowIndex = -1;
curIndex = null;
priceIndex = (Math.random()*lot.length) | 0;
console.log("中奖的下标",priceIndex)
}
if(nowIndex>=lot.length-1){
nowIndex=-1;
}
}
btn.click(function(){
if(isClick){
console.log("开始抽奖");
isClick = false;
timer = setInterval(move,100);
}
})
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
以上是 jquery实现抽奖功能 的全部内容, 来源链接: utcz.com/p/218295.html