基于javascript实现九宫格大转盘效果

 更新时间:2020年05月28日 08:27:09   作者:透笔度  
这篇文章主要为大家详细介绍了基于javascript实现九宫格大转盘效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js实现幸运抽奖九宫格大转盘效果,供大家参考,具体内容如下

实现代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>九宫格大转盘</title>
 <style type="text/css">
/*reset*/
*{ padding:0; margin:0}
body{ height: 100%; width: 100%; font-size:12px; color:#333;}
ul{ list-style:none;}
/*demo*/
#lottery{width:400px;height:400px;margin:20px auto 0; position:relative;}
#lottery div{width:100px;height:100px;text-align:centerfont-size:24px;color:#333; float:left;}
#lottery .cent{ background:#C33;}
#lottery .lottery-unit-0{ background:#CC6;}
#lottery .lottery-unit-1{ background:#F99;}
#lottery .lottery-unit-2{ background:#CC6;}
#lottery .lottery-unit-3{ background:#F99;}
#lottery .lottery-unit-4{ background:#CC6;}
#lottery .lottery-unit-5{ background:#F99;}
#lottery .lottery-unit-6{ background:#CC6;}
#lottery .lottery-unit-7{ background:#F99;}
#lottery .lottery-unit-8{ background:#CC6;}
#lottery .lottery-unit-9{ background:#F99;}
#lottery .lottery-unit-10{ background:#CC6;}
#lottery .lottery-unit-11{ background:#F99;}

#lottery div.select{background:#F0F;}

#lottery .start{ position:absolute; left:100px; top:100px; height:200px; width:200px;background:#C33; font-size:30px; text-align:center; cursor:pointer; line-height:200px; color:#fff;}
</style>
</style>
</head>
<body> 
 <!--九宫格大转盘-->
 <div id="lottery">
 
 <div class="lottery-unit lottery-unit-0">1</div>
 <div class="lottery-unit lottery-unit-1">2</div>
 <div class="lottery-unit lottery-unit-2">3</div>
 <div class="lottery-unit lottery-unit-3">4</div>
 
 <div class="lottery-unit lottery-unit-11">12</div>  
 <div class="cent"></div>
 <div class="cent"></div>  
 <div class="lottery-unit lottery-unit-4">5</div>
 
 <div class="lottery-unit lottery-unit-10">11</div>  
 <div class="cent"></div>
 <div class="cent"></div>  
 <div class="lottery-unit lottery-unit-5">6</div>
 
 <div class="lottery-unit lottery-unit-9">10</div>
 <div class="lottery-unit lottery-unit-8">9</div>
 <div class="lottery-unit lottery-unit-7">8</div>
 <div class="lottery-unit lottery-unit-6">7</div>

 <div class="start" id="start">抽奖</div>
 </div>
</body>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
 //九宫格大转盘
 var count=3;//可用次数 
 var i=null;//初始位置,
 var speed=80;//转动速度
 var ok=null;//产生0-11的整数,标记中奖位置
 var count=null;//总变化次数
 var nowcount=null;//当前的变化位置
 var n=5;//圈数
 var paly=false;
 var xq=0;
 function dong(){//利用递归模拟setinterval的实现 
 if(nowcount>count){
 setTimeout(function(){
 paly=false;
 alert("恭喜你,中了"+eval(ok)+"等奖");
 },500);
 }else{ 
 nowcount+=1;
 if(i>10){ 
 xq+=1; 
 if(xq==n-1){
 speed=300;
 }; 
 $(".lottery-unit").removeClass("select");
 $(".lottery-unit-11").addClass("select");
 i=0;
 }else{
 $(".lottery-unit").removeClass("select");
 $(".lottery-unit-"+i).addClass("select");
 i+=1;
 };
 setTimeout(dong,speed); 
 }; 
 
 }; 
 $(".start").click(function(){
 if(!paly){
 if(count==0){
 alert("已经没有机会,下次再来!");
 }else{
 ok=Math.floor((Math.random()*12));//产生0-11的整数,标记中奖位置
 count=n*12+ok;//总变化次数
 nowcount=0;//当前的变化位置
 i=0;//初始位置,
 paly=true;
 count-=1;
 dong();
 };
 
 }else{
 
 };
 
 }); 
});
</script>
</html>

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

相关文章

  • 浅谈js中的this问题

    浅谈js中的this问题

    下面小编就为大家带来一篇浅谈js中的this问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 使用p5.js临摹动态图形

    使用p5.js临摹动态图形

    这篇文章主要为大家详细介绍了如何使用p5.js临摹动态图形,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • js获取数组的最后一个元素

    js获取数组的最后一个元素

    这篇文章主要介绍了javascript获取数组的最后一个元素,需要的朋友可以参考下
    2015-04-04
  • JavaScript中callee和caller的区别与用法实例分析

    JavaScript中callee和caller的区别与用法实例分析

    这篇文章主要介绍了JavaScript中callee和caller的区别与用法,结合实例形式分析了javascript中callee和caller的功能、区别、用法及操作注意事项,需要的朋友可以参考下
    2019-06-06
  • js获取css的各种样式并且设置他们的方法

    js获取css的各种样式并且设置他们的方法

    下面小编就为大家带来一篇js获取css的各种样式并且设置他们的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • XP折叠菜单&仿QQ2006菜单

    XP折叠菜单&仿QQ2006菜单

    XP折叠菜单&仿QQ2006菜单...
    2006-12-12
  • js制作可以延时消失的菜单

    js制作可以延时消失的菜单

    这篇文章主要为大家详细介绍了基于JavaScript制作可以延时消失的菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • javascript下高性能字符串连接StringBuffer类

    javascript下高性能字符串连接StringBuffer类

    使用StringBuffer类比使用加号节省50%左右的时间,大家对于大数据的连接最好使用这个方法。
    2010-08-08
  • BootStrap与Select2使用小结

    BootStrap与Select2使用小结

    这个select2组件的功能确实很强大,可以将图片放入到select里面随着文字一起显示。接下来通过本文给大家分享BootStrap与Select2使用小结,需要的朋友参考下
    2017-02-02
  • JS中如何优雅的使用async await详解

    JS中如何优雅的使用async await详解

    async表示异步,而await可以看作async wait,个人对async与await的简单理解就是,我们可以用同步的方式去书写异步代码,这篇文章主要给大家介绍了关于JS中如何优雅的使用async await的相关资料,需要的朋友可以参考下
    2021-10-10

最新评论