代码如下:

   <!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. Unicode转义(\uXXXX)的编码和解码

    在涉及Web前端开发时, 有时会遇到\uXXXX格式表示的字符, 其中XXXX是16进制数字的字符串表示形式, 在js中这个叫Unicode转义字符, 和\n \r同属于转义字符. 在其他语言中也有类 ...

  2. ThreadPool.QueueUserWorkItem的用法

    代码: ThreadPool.SetMaxThreads(, ); ThreadPool.QueueUserWorkItem((obj) => { MessageBox.Show("执 ...

  3. 修复 Visual Studio Error “No exports were found that match the constraint”

    清空Visual Studio 文件缓存目录 Just delete or rename this folder: %AppData%\..\Local\Microsoft\VisualStudio\ ...

  4. [下载]北京新版小学英语五年级上册mp3点读APP

    义务教育教科书小学英语五年级上册点读软件.根据2014年北京教改版教材编写,发音标准.实现点读功能.点到哪里读到哪里.哪里不会点哪里!北京教育科学研究院编写,北京出版社出版.ISBN:97872001 ...

  5. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  6. 10分钟写一个markdown编辑器

    marked.js Marked是一个Markdown解析引擎. vue.js Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vu ...

  7. CSS3之过渡及2D变换

    transition过渡 transition-duration:; 运动时间 transition-delay:; 延迟时间 transition-timing-function:; 运动形式 ea ...

  8. 【IOS开发笔记03-视图相关】简单计算器的实现

    UIView 经过前几天的快速学习,我们初步了解的IOS开发的一些知识,中间因为拉的太急,忽略了很多基础知识点,这些知识点单独拿出来学习太过枯燥,我们在今后的项目中再逐步补齐,今天我们来学习APP视图 ...

  9. 释放Android的函数式能量(I):Kotlin语言的Lambda表达式

    原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-o ...

  10. TextField和TextView的限制输入长度

    TextField的限制代理方法 只需要在这个代理方法里面code这样的代码就可以了 16 是长度可以自己设置 - (BOOL)textField:(UITextField *)textField s ...