jquery实现抽奖功能


Posted in jQuery onOctober 22, 2020

本文实例为大家分享了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实现抽奖功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery中的deferred使用方法
Mar 27 jQuery
jQuery tip提示插件(实例分享)
Apr 28 jQuery
jquery实现提示语淡入效果
May 05 jQuery
jQuery.form.js的使用详解
Jun 14 jQuery
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
基于jquery ajax的多文件上传进度条过程解析
Sep 11 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
Nov 09 jQuery
jQuery实现可以计算进制转换的计算器
Oct 19 #jQuery
jQuery实现计算器功能
Oct 19 #jQuery
jQuery实现推拉门效果
Oct 19 #jQuery
jQuery实现图片切换效果
Oct 19 #jQuery
jQuery实现回到顶部效果
Oct 19 #jQuery
jQuery实现放大镜案例
Oct 19 #jQuery
jQuery插件实现图片轮播效果
Oct 19 #jQuery
You might like
第七节 类的静态成员 [7]
2006/10/09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP 七大优势分析
2009/06/23 PHP
基于header的一些常用指令详解
2013/06/06 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
php实现的xml操作类
2016/01/15 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
jQuery学习总结之jQuery事件
2014/06/30 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
python类继承用法实例分析
2014/10/10 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
python破解zip加密文件的方法
2018/05/31 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Django url 路由匹配过程详解
2021/01/22 Python
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
linux系统都有哪些运行级别
2012/04/15 面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
企业办公室主任岗位职责
2014/02/19 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
Django显示可视化图表的实践
2021/05/10 Python