前端九宫格抽奖,九宫格抽奖活动

  前端九宫格抽奖,九宫格抽奖活动

  本文操作环境:windows7系统、jquery3.2.1版、戴尔自交第三代电脑

  jquery怎么实现九宫格抽奖?

  jquery——九宫格大转盘抽奖实例

   一、用到的图片

  二、代码如下,重点是js部分

  !声明文档类型

  超文本标记语言

  头

  meta http-equiv= Content-Type Content= text/html;charset=utf-8 /

  titlejQuery九宫格大转盘抽奖/标题

  风格

  #彩票{宽度:570像素身高:510像素边距:0px自动;边框:4px纯色# ba1809}

  #彩票台{背景色:黄色;}

  #彩票台td {位置:相对;宽度:190像素高度:170像素文本对齐:居中;颜色:# 333;字体索引:-999}

  #彩票台TD img {显示:块;宽度:190像素高度:170px}

  #彩票台TD a {宽度:190 px高度:170像素显示:块;文字-装饰:无;背景:url(images/lottery1.jpg)无重复顶部居中;}

  #彩票表TD a:hover { background-image:URL(图片/抽奖2。jpg);}

  #彩票台td.active .屏蔽{显示:块;}。面具{

  宽度:100%;

  身高:100%;

  位置:绝对;

  左:0;

  top:0;

  背景:url(images/mask.png)无重复;

  显示:无;

  }

  /风格

  /头

  body=keBody

  !-效果超文本标记语言开始-

  div id=彩票

  表格边框=0 单元格填充=0 单元格间距=0

  tr

  TD class=彩票-单位彩票-单位-0 img src=图片/礼物0。jpg div class= mask /div/TD

  TD class=彩票-单位彩票-单位-1 img src=图片/礼品1。jpg div class= mask /div/TD

  TD class=彩票-单位彩票-单位-2 img src=图片/礼品2。jpg div class= mask /div/TD

  /tr

  tr

  TD class=彩票-单位彩票-单位-7 img src=图片/礼物7。jpg div class= mask /div/TD

  tda href=#/a/td

  TD class=彩票-单位彩票-单位-3 img src=图片/礼物3。jpg div class= mask /div/TD

  /tr

  tr

  TD class=彩票-单位彩票-单位-6 img src=图片/礼物6。jpg div class= mask /div/TD

  TD class=彩票-单位彩票-单位-5 img src=图片/礼品5。jpg div class= mask /div/TD

  TD class=彩票-单位彩票-单位-4 img src=图片/礼品4。jpg div class= mask /div/TD

  /tr

  /表格

  /div

  编写src= http://代码脚本。jquery。com/jquery-最新。js /脚本

  脚本类型=文本/javascript

  定义变量彩票={

  索引:-1,//当前转动到哪个位置,起点位置

  计数:0,//总共有多少个位置

  计时器:0,//setTimeout的ID,用方法清除

  速度:20,//初始转动速度

  次数:0,//转动次数

  周期:50,//转动基本次数:即至少需要转动多少次再进入抽奖环节

  奖品:-1,//中奖位置

  初始化:函数(id){

  if ($(# id).查找(。彩票单位).长度0) {

  $ lottery=$( # id);

  $units=$lottery.find(.彩票单位);

  this.obj=$彩票;

  这个。计数=$单位。长度;

  $lottery.find(.彩票单元——“这个。索引).添加类(“活动”);

  };

  },

  roll:function(){

  var index=this.index

  var count=this.count

  定义变量彩票=this.obj

  $(抽奖)。查找(。彩票-单位-索引)。移除类(“active”);

  指数=1;

  if (indexcount-1) {

  索引=0;

  };

  $(抽奖)。查找(。彩票-单位-索引)。添加类(“活动”);

  this.index=index

  返回错误的

  },

  停止:功能(索引){

  this.prize=index

  返回错误的

  }

  };

  函数roll(){

  彩票。次数=1;

  彩票。roll();//转动过程调用的是彩票的卷方法,这里是第一次调用初始化

  如果(抽奖。时代彩票。第十周期彩票。奖金==彩票。指数){

  清除超时(抽奖。定时器);

  彩票。奖品=-1;

  彩票。次数=0;

  点击=假;

  }否则{

  如果(抽奖。时代彩票。循环){

  彩票。速度-=10;

  } else if(抽奖。时代==彩票。循环){

  var指数=数学。random()*(抽奖。count) 0;

  彩票.奖金=索引;

  }否则{

  如果(抽奖。时代彩票。周期10((抽奖。奖金==0彩票。index==7) 彩票。奖品==彩票。索引1)){

  彩票。速度=110;

  }否则{

  彩票。速度=20;

  }

  }

  if (lottery.speed40) {

  彩票。速度=40;

  };

  //控制台。日志(抽奖。^^^^^^时报彩票。速度^^^^^^^彩票。奖);

  lottery.timer=setTimeout(掷骰子,彩票。速度);//循环调用

  }

  返回错误的

  }

  var click=false

  window.onload=function(){

  lottery.init(彩票);

  $( #彩票a’).单击(函数(){

  如果(点击){//点击控制一次抽奖过程中不能重复点击抽奖按钮,后面的点击不响应

  返回错误的

  }否则{

  彩票。速度=100;

  roll();//转圈过程不响应点击事件,会将点击置为错误的

  点击=真;//一次抽奖完成后,设置点击为没错,可继续抽奖

  返回错误的

  }

  });

  };

  /脚本

  !-效果超文本标记语言结束-

  /body

  /html效果如下:

  三、注意事项

  1、抽奖过程说明

  上面只是前端展示的效果。中奖物品通过一个随机数生成。

  var指数=数学。random()*(抽奖。count) 0;真正开发中中奖物品是通过向后端接口发送请求返回的。

  $( #彩票a’).单击(函数(){

  var是log in=check log in();

  if(islogin){//已登录用户才能去抽奖

  如果(点击){

  返回错误的

  }否则{

  //向后端接口发请求返回中奖结果

  var geturl=http://

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: