jQuery实现类似老虎机滚动抽奖效果


Posted in Javascript onAugust 06, 2015

本文实例讲述了jQuery实现类似老虎机滚动抽奖效果。分享给大家供大家参考。具体如下:

这里使用jquery实现类似老虎机的网页抽奖功能,只是一个简单的投资功能实现,还有一些地方是需要完善的,比如抽奖快结束的时候,不会自动变慢速度,哪位高手感兴趣的话可以加以完善。

实现效果如下图所示:

jQuery实现类似老虎机滚动抽奖效果

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery抽奖效果</title>
<style type="text/css">
*{padding:0px;margin:0px;}
body{font-size:12px;}
ul,li{ list-style:none;}
.choudiv{width:600px;margin:100px auto; position:relative;}
.choudiv .zblock{position:absolute;width:80px;height:80px; background:#09C; text-align:center;line-height:80px;}
.choudiv .li1{left:0px;top:0px;}
.choudiv .li2{left:80px;top:0px;}
.choudiv .li3{left:160px;top:0px;}
.choudiv .li4{left:240px;top:0px;}
.choudiv .li5{left:320px;top:0px;}
.choudiv .li6{left:320px;top:80px;}
.choudiv .li7{left:320px;top:160px;}
.choudiv .li8{left:240px;top:160px;}
.choudiv .li9{left:160px;top:160px;}
.choudiv .li10{left:80px;top:160px;}
.choudiv .li11{left:0px;top:160px;}
.choudiv .li12{left:0px;top:80px;}
.choudiv .zblock1{width:240px;height:80px; cursor:pointer;background:#f00; position:absolute;left:80px;top:80px; text-align:center;line-height:80px;}
</style>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(function(){ 
 $(".zblock1").on("click",function(){
  if(!$(this).hasClass("unuse")){
   $(this).addClass("unuse");
   var i=0;
   var num=parseInt(30+Math.random()*20);
   //这个后面会通过AJAX由程序给出
   var time=50;
   var j=parseInt(num/12);
   var leave=num%12;
   var oli=$("#outer").find("li"); 
   var timer=setInterval(function(){
    oli.css("opacity","1");
    if(j>0){
     if(i==12){
      i=0;
      j--;
      oli.eq(i).css("opacity","0.5");
     }else{
      oli.eq(i).css("opacity","0.5");
      i++; 
     }
    }else{
     if(i==leave){
      clearInterval(timer);
      oli.eq(i).css("opacity","0.5");
      alert("抽中了"+i+"号");
      $(".zblock1").removeClass("unuse");
     }else{
      oli.eq(i).css("opacity","0.5");
      i++;
     }
    }
   },50);
  }else{
   return false; 
  } 
 })
});
</script>
</head>
<body>
<div class="choudiv">
<ul id="outer">
 <li class="zblock li1">0</li>
 <li class="zblock li2">1</li>
 <li class="zblock li3">2</li>
 <li class="zblock li4">3</li>
 <li class="zblock li5">4</li>
 <li class="zblock li6">5</li>
 <li class="zblock li7">6</li>
 <li class="zblock li8">7</li>
 <li class="zblock li9">8</li>
 <li class="zblock li10">9</li>
 <li class="zblock li11">10</li>
 <li class="zblock li12">11</li>
</ul>
<div class="zblock1">开始</div> 
</div>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
一个tab标签切换效果代码
Mar 27 Javascript
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
Nov 08 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
深入理解jQuery.data() 的实现方式
Nov 30 Javascript
详解node.js搭建代理服务器请求数据
Apr 08 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 #Javascript
js简单实现标签云效果实例
Aug 06 #Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 #Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 #Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 #Javascript
jquery实现选中单选按钮下拉伸缩效果
Aug 06 #Javascript
js实现网页抽奖实例
Aug 05 #Javascript
You might like
php中最简单的字符串匹配算法
2014/12/16 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
chrome调试javascript详解
2015/10/21 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
利用webstrom调试Vue.js单页面程序的方法教程
2017/06/06 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
python写的一个文本编辑器
2014/01/23 Python
python字典操作实例详解
2017/11/16 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
Django后台admin的使用详解
2019/07/08 Python
Django 反向生成url实例详解
2019/07/30 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
python十进制转二进制的详解
2020/02/07 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
Python 字符串池化的前提
2020/07/03 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
领导检查欢迎词
2014/01/14 职场文书
社区七一党员活动方案
2014/01/25 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers