【one week one project】大转盘转啊转

【one week one project】大转盘转啊转

访问地址:大转盘
GitHub:Github

项目背景:

活动抽奖,奖品数目固定,参与人数不定的场合。比如:一等奖30人,二等奖50人,三等奖100人。

抽奖算法

生成固定长度的数组,下标0-29为一等奖,30-79为二等奖,80-179为三等奖。
随机抽取一个数组内元素,然后删除此元素。

前端实现

  • jQuery
  • BootStrap
  • jQueryRotate

其他问题

  1. 因为是完全使用前端进行实现,也不需要后台参与,所以数据需要做本地存储,采用Local Storage.只能存储字符串,不能存储数组,对象!如果需要存储字符串、对象或者json需要进行先格式化为字符串,然后再取出
//取出数组
 if (localStorage.local) {
        str = localStorage.local;
        a = str.split(",");
        console.log("a=" + a);
    }

  1. 为方便使用,监听空格和ENTERkeydown事件
  $(document).keydown(function(event){
        
        if(event.keyCode==13 || event.keyCode==32){

                bb();
                rotate();
                wait();
                setTimeout('result(price)',6000)
        }
    });

bug

1.连续点按会照成一直转动,事件一直被触发的情况。
解:增加一层,事件开始时候,这一层出现,防止事件被继续触发,等到转圈结束,在隐藏

2.BootStrap布局会造成移动端的大面积空白
解:要不,我们试试flex布局?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,268评论 0 4
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,601评论 3 93
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 1: 发送图片字节集 无参 defGSreturn_code(pic,pic_len,type):#GS答题#10...
    先赚1个亿阅读 4,234评论 0 0
  • 总是不能确定的写下我所要的标题,也可见我文章的杂乱。 周日,大忙的一天,因为太阳超棒,就免不了要晒被还要洗床单,脏...
    灬羁阅读 248评论 0 0