js轮盘抽奖
需求:实现中奖是否可控
思路:通过旋转角度来实现轮盘转动,根据角度来确定是否中奖
window.onload = function(){ var oTurn = document.getElementById('turntable'); var oStart = document.getElementById('start'); var timer, timer2 = null; var deg = 0; //当前旋转度数 var iSpeed = 0; //加速减速变量 var iNum = 1800; //旋转角度(旋转多少圈360*i) var iZ = 45+60*1; //可中奖的值(15+60*i), 不中奖的值(45+60*i) var iTotal = iNum + iZ; //总共旋转度数 var bStop = true; //可点击开关 var iTp = 0; //保存下一次旋转需要的总度数 var bFirst = true; //是否第一次点击 oStart.onclick = function(){ start(); }; function start(){ if(bStop){ bStop = false; timer = setInterval(function(){ //第一次点击,小于总度数的一半时加速,大于一半是减速,速度小于0时,默认为0.5 if(bFirst){ if(deg<=iTotal/2){ iSpeed = iSpeed + 0.1; } if(deg>iTotal/2){ iSpeed -= 0.1; } if(iSpeed <= 0){ iSpeed = 0.5; } }else{ if(deg<=iTp/2){ iSpeed = iSpeed + 0.1; } if(deg>iTp/2){ iSpeed -= 0.1; } if(iSpeed <= 0){ iSpeed = 0.5; } } deg+=iSpeed; //每次旋转度数=当前度数+ 速度变量(速度快,旋转快,即加速运动;速度慢,减速运动) //当前度数大于等于总度数是停止 if(deg>=iTotal){ clearInterval(timer); deg%=360; //设置 iTp = iTotal + deg; //下一次旋转的总度数 iSpeed = 0; //重置 bFirst = false; bStop = true; return false; }else{ $('#turntable').css({'-webkit-transform':'rotate(' + deg + 'deg)'}); } }, 30); } } };
js轮盘抽奖的更多相关文章
-
C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
-
原生js轮盘抽奖实例分析(幸运大转盘抽奖)
效果图: 所需图片素材: 这张图是pointer.png的位置的. turntable-bg.jpg这张是转盘背景图,在背景位置. 这张是turntable.png位置的. 需要这三张图片,如果要实现 ...
-
js转盘抽奖
这个是很简易的转盘,只用了html,css,js 通过css产生一个转盘上的指针,用js动态改变css中的transparent改变指针的角度.再添加一个背景图片类似于奖项的转盘 <!DOCTY ...
-
js一个抽奖的例子
朋友公司开年会,帮忙写了个抽奖的demo,源码如下,github中有程序: html: <header> lottery demo </header> <div clas ...
-
Js 转动抽奖实现
一.样本 地址:http://js.zhuamimi.cn/choujiang/index.htm 源码:https://pan.baidu.com/s/15KhesfcLf1WMOom6PhzCjA ...
-
js实现抽奖
抽奖.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
-
js 简单抽奖实现
大家在很多活动页面上都看到绚丽多彩的抽奖运用,网上也有比较多关于这方面的js和用as.今天我在工作的时候也要做个抽奖的运用.我之前没有写过这类的js,也不会as,就得屁颠屁颠的问度娘啦,虽然找到有js ...
-
jquery.rotate.js可选抽奖次数和中奖内容的转盘抽奖demo
需求: 最多可以抽奖5次,而且,每次只会中“2000元理财金”或者“谢谢参与”,其它的不会抽中(哈哈,果然都是套路). 效果如下: 一.页面结构: <div class="g-cont ...
-
JS数组抽奖程序教学实例
数组Javascript中非常重要的知识点,为了在课堂上提高学生兴趣,教学举例的选择就比较重要了. 为了提高学生兴趣,特设计一个可输入,可控制结束的,利用JS数组实现的抽奖教学实例.代码如下:
随机推荐
-
初识NodeJS
1.JavaScript 模块化规范 浏览器环境 AMD Asynchronous Module Definition RequireJS CMD Common Module Definition S ...
-
mysql order by 优化 |order by 索引的应用
在某些场景,在不做额外的排序情况下,MySQL 可以使用索引来满足 ORDER BY 子句的优化.虽然 ORDER BY并不完全精确地匹配索引,但是索引还是会被使用,只要在WHERE子句中,所有未被使 ...
-
新发现了一个编辑器HBuilder,感觉蛮好的,关键是国产软件。
http://www.dcloud.io/
-
Rhel6-lanmp架构配置文档
l--操作系统:windows linux unix mac OS a--网页发布软件:apache nginx iis m--数据库:mysql pgsql oracle... p--网页 ...
-
IJKMediaFramework第三方库的使用
大多数做直播的时候使用 FFMpeg. IJKMediaFramework也是基于FFMpeg封装 使用起来比较简单,个人觉得如果有能力可以使用 FFMpeg , 使用 FFMpeg对 内存的占用比 ...
-
linux处理闰秒
闰秒的介绍可以参考* https://zh.wikipedia.org/wiki/闰秒 linux处理闰秒 Linux使用UTC时钟,并通过NTP (Network time protocol) ...
-
HTML5 prefetch即预加载
原文地址 声明:此文带着自己的理解,不完全按原文翻译 prefetch 即预加载,在用户需要前我们就将所需的资源加载完毕. 有了浏览器缓存,为何还需要预加载? 用户可能是第一次访问网站,此时还无缓存 ...
-
前台图片上传展示JS(单张图片展示)
<script type="text/javascript"> //下面用于多图片上传预览功能 function setImagePreviews(aval ...
-
API管理平台XXL-API
<API管理平台XXL-API> 一.简介 1.1 概述 XXL-API是一个简洁易用API管理平台,提供API的"管理"."文档"."M ...
-
分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数
expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set h ...