代码如下:

   <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"
<title></title>
<script type="text/javascript" src="js/jquery-1.8.2.js" ></script>
<script type="text/javascript">
var roll={
Msgs:["一等獎","二等獎","三等獎","四等獎","五等獎","六等獎","七等獎","八等獎"],
index:0,//当前位置索引
times:0,//次数
roundTimes:0,//圈数
timer:0,//循环器
speed:300,//转动速度
isActive:false,//游戏是否在运行
Init:function(){
///初始化
this.roundTimes=0;
this.isActive=true;
},
Start:function(cls,callback){
var that=this;
if(that.isActive==true)
{
alert('游戏正在进行!');
return;
}
if(that.times==4)
{
alert('只有四次机会');
return;
}
that.Init();
var interVal=setInterval(function(){
if(that.index==8)
{
that.index=0;
that.roundTimes++;
}
if(that.roundTimes==6)
{
that.index=parseInt(Math.random()*7) ;
$('li[class^='+cls+']').removeClass('active');
$('.'+cls+'-'+ that.index).addClass('active');
that.isActive=false;
clearInterval(that.timer);
if(Object.prototype.toString.call(callback)=='[object Function]')
{
callback.call(this,that.index,that.Msgs[that.index]);
}
}
else{
$('li[class^='+cls+']').removeClass('active');
$('.'+cls+'-'+ that.index).addClass('active');
that.index++;
} },100);
that.timer=interVal;
that.times++;
}
} $(function(){
$('#btnChouj').click(function(){
roll.Start('prize',function(index,msg){
setTimeout(function(){
alert(msg);
})
});
});
}) </script>
<style type="text/css">
html,body{
margin:0 auto;
padding: 0;
width: 100%;
height: 100%;
}
#choujiangUL{
list-style: none;
position: absolute;
width: 100%;
height: 50%;
}
#choujiangUL li{
float: left;
width: 32%;
/* height: 33.33%;*/
text-align: center;
border: 1px solid #CCCCCC
/*background-color: deepskyblue;*/
/*border: 1px solid white;*/
}
#choujiangUL li img{
width: 100px;
height: 100px;
} .active{
background-color: #990000;
}
</style>
</head>
<body>
<ul id="choujiangUL">
<li class="prize-0 active">
<img src="img/choujiang/1.png" />
</li>
<li class="prize-1">
<img src="img/choujiang/2.png" />
</li>
<li class="prize-2">
<img src="img/choujiang/3.png" />
</li>
<li class="prize-7">
<img src="img/choujiang/4.png" />
</li>
<li id="btnChouj" >
<img src="img/choujiang/choujiang.png" />
</li>
<li class="prize-3">
<img src="img/choujiang/5.png" />
</li>
<li class="prize-6">
<img src="img/choujiang/6.png" />
</li>
<li class="prize-5">
<img src="img/choujiang/7.png" />
</li>
<li class="prize-4">
<img src="img/choujiang/8.png" />
</li> </ul> </body>
</html>

效果预览:

demo下载地址

WebApp 九宫格抽奖简易demo的更多相关文章

  1. WebSocket基于javaweb+tomcat的简易demo程序

    由于项目需要,前端向后台发起请求后,后台需要分成多个步骤进行相关操作,而且不能确定各步骤完成所需要的时间 倘若使用ajax重复访问后台以获取实时数据,显然不合适,无论是对客户端,还是服务端的资源很是浪 ...

  2. 同事问如何判断同花顺,我用javascript的二维数组写了个简易demo

    有个前同事在群里问如何判断是否为同花顺我用javascript的二维数组写了个简易demo. <!DOCTYPE html> <html> <body> <s ...

  3. Js写九宫格抽奖

    国庆出去转了一圈,回来及时把以前写的一些有用的在这儿记录一下 --------------------------------------------我是分割线-------------------- ...

  4. PHP+Ajax微信手机端九宫格抽奖实例

    PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现.支持可以设置中奖概率等. 奖品列表 <div class="lottery ...

  5. php+lottery.js制作九宫格抽奖实例

    php+lottery.js制作九宫格抽奖实例,本抽奖功能效果表现好,定制方便简单,新手学习跟直接拿来用都非常不错,兼容IE.火狐.谷歌等浏览器. 引入抽奖插件lottery.js <scrip ...

  6. jq demo 九宫格抽奖

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  7. iOS学习之网易新闻简易Demo

    简易NewsDemo代码分析 界面布局就不多说了.效果图:(自定义了三套Cell,最后一套Cell是页面最下方的"正在加载中..."Cell,图三.)         主要分析工程 ...

  8. 【javascript】九宫格抽奖组件设计

    一些主要点 1. 转圈的顺序(顺时针或者逆时针): 2. 转圈的速率(从慢到快再到慢): 3. 位置的问题(下一次抽奖的起始位置是上一次抽奖的结束位置): 4. 转圈的圈数或者移动的次数. 基本原理 ...

  9. 微信小程序入门学习-- 简易Demo:计算器

    简单学习下微信小程序 官网 简易教程 · 小程序 https://mp.weixin.qq.com/debug/wxadoc/dev/ 需要通过开发者工具,来完成小程序创建和代码编辑. 下载安装,运行 ...

随机推荐

  1. .Net语言 APP开发平台——Smobiler学习日志:快速实现应用中的图片、声音等文件上传功能

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

  2. 几道web前端练习题目

    在 HTML 语言中,以下哪个属性不是通用属性?A]<class>B]<title>C]<href>D]<style> 在线练习:http://hove ...

  3. 1、Python基本概念

    1.数 python中有4种类型的数--整数.长整数.浮点数和复数 2.字符串 单引号.双引号或者三引号包含的字符序列,如: 'char' #单引号 "char" #双引号 ''' ...

  4. 锐捷linux客户端常用命令(主要用来连接校园网或公司局域网)

     锐捷访问校园网,.sh脚本文件rjsu*.sh-u 用户名-P 密码-S 参数1保存密码参数0不保存密码   其实:  直接使用md5认证方式输入用户名密码并且配置好ip之后,重新打开网卡即可有一定 ...

  5. MySQL时间分组查询

    表TESTER 字段:id -- INT    date  -- TIMESTAMP 1.如何按年.月.日分组查询? select DATE_FORMAT(date,'%Y-%m-%d') time, ...

  6. spring+mybatis多数据源动态切换

    spring mvc+mybatis+多数据源切换 选取oracle,mysql作为例子切换数据源.oracle为默认数据源,在测试的action中,进行mysql和oracle的动态切换. web. ...

  7. Hibernate4.2.4入门(二)——一对多的映射关系

    一.前言 前面我们已经学过hibernate的基础,学会增删改查简单的操作,然而我们数据库中存在着1对多,多对1,多对多的关系,hibernate又是基于ORM基础上的开源框架,可以让我们不用去编写S ...

  8. 用C#从数据库动态生成AdminLTE菜单的一种方法

    当前的应用设计风格趋于Flat扁平化,很多基于BootStrap实现了很多UI非常漂亮的管理界面(Bootstrap admin template). 此核心文件开源在Github:https://g ...

  9. Collection和Collections的区别?

    Collection 是接口(Interface),是集合类的上层接口. Collections是类(Class),集合操作的工具类,服务于Collection框架.它是一个算法类,提供一系列静态方法 ...

  10. iOS 学习 - 2.据网址显示源码

    输入网址,解出源码,显示label 我这里是在第二个界面显示的,用的属性传值. A界面先从 storyboard 拖个 textfield 和一个 button .m里面button的方法 //按钮点 ...