幸运抽奖

    var oPointer=document.getElementsByTagName("img")[0];var oTurnable=document.getElementsByTagName("img")[1];var cat=15;//每个区域15度,一共24个区域var num=0;var offOn=true;//是否正在抽奖//指针点击事件,开始抽奖oPointer.onclick=function(){if(offOn){oTurnable.style.transform="rotate(0deg)";offOn=!offOn;ratating();}}//旋转function ratating(){var timer=null;var rdm=0;//随机度数clearInterval(timer);timer=setInterval(function(){if(Math.floor(rdm/360)<3){rdm=Math.floor(Math.random()*3600);}else{oTurnable.style.transform="rotate(" rdm "deg)";clearInterval(timer);setTimeout(function(){offOn=!offOn;num=rdm60;
//                    转盘逆时针的角度为正值if(num<=cat*1){alert("四等奖");console.log("rdm=" rdm ",num=" num "," "四等奖");}else if(num<=cat*2){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*3){alert("二等奖");console.log("rdm=" rdm ",num=" num "," "二等奖");}else if(num<=cat*4){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*5){alert("三等奖");console.log("rdm=" rdm ",num=" num "," "三等奖");}else if(num<=cat*6){alert("四等奖");console.log("rdm=" rdm ",num=" num "," "四等奖");}else if(num<=cat*7){alert("幸运奖");console.log("rdm=" rdm ",num=" num "," "幸运奖");}else if(num<=cat*8){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*9){alert("一等奖");console.log("rdm=" rdm ",num=" num "," "一等奖");}else if(num<=cat*10){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*11){alert("幸运奖");console.log("rdm=" rdm ",num=" num "," "幸运奖");}else if(num<=cat*12){alert("四等奖");console.log("rdm=" rdm ",num=" num "," "四等奖");}else if(num<=cat*13){alert("三等奖");console.log("rdm=" rdm ",num=" num "," "三等奖");}else if(num<=cat*14){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*15){alert("二等奖");console.log("rdm=" rdm ",num=" num "," "二等奖");}else if(num<=cat*16){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*17){alert("四等奖");console.log("rdm=" rdm ",num=" num "," "四等奖");}else if(num<=cat*18){alert("幸运奖");console.log("rdm=" rdm ",num=" num "," "幸运奖");}else if(num<=cat*19){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*20){alert("幸运奖");console.log("rdm=" rdm ",num=" num "," "幸运奖");}else if(num<=cat*21){alert("四等奖");console.log("rdm=" rdm ",num=" num "," "四等奖");}else if(num<=cat*22){alert("三等奖");console.log("rdm=" rdm ",num=" num "," "三等奖");}else if(num<=cat*23){alert("周君记");console.log("rdm=" rdm ",num=" num "," "周君记");}else if(num<=cat*24){alert("幸运奖");

                        console.log("rdm=" rdm ",num=" num "," "幸运奖");}},4000);}},30);}

 

  #bg{width: 650px;height: 600px;margin:0 auto;background: url(turnable-bg.jpg) no-repeat;position:relative;}/*img从alt开始匹配,直到pointer结束为止*/img[alt="pointer"]{position:absolute;top:125px;left:310px;z-index:10;}img[alt="turnable"]{position:absolute;z-index:5;top:50px;left:80px;transition:all 4s;}

 

<div id="bg"><img src="指针.png" alt="pointer" width="31px" height="182px"><img src="转盘.png" alt="turnable" width="496px" height="500px">
</div>

 抽奖代码里要注意一个地方,就是转动角度:在计算机语言里,逆时针的转动才算是正方向,而顺时针为负方向。

总结步骤:1.找好图片素材,当然也可以自己设计一个。(圆盘和指针)

                  2.先用html将素材写至页面当中。

                  3.设置好样式,呈现好看的页面效果。

                  4.最重要的部分就是在js这块的实现部分:

.                         (1)点击事件;

                           (2)旋转度数的设置(间歇调用,判断语句)

      效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux usleep 线程控制权_linux多线程同步—信号量

linux多线程编程-信号量信号量机制锁机制使用是有限制的&#xff0c;锁只有两种状态&#xff0c;即加锁和解锁&#xff0c;对于互斥的访问一个全局变量&#xff0c;这样的方式还可以对付&#xff0c;但是要是对于其他的临界资源&#xff0c;比如说多台打印机等&#xff0c;这种…

标题 计算机构自由度时主要步骤有哪些,2010年1月全国自考混凝土结构设计试题和答案...

全国2010年1月自学考试商品混凝土结构设计试题课程代码&#xff1a;02440一、单项选择题(本大题共20小题&#xff0c;每小题2分&#xff0c;共40分)在每小题列出的四个备选项中只有一个是符合题目要求的&#xff0c;请将其代码填写在题后的括号内。错选、多选或未选均无分。1.一…

Django字段类型介绍

一&#xff0c;通过makemigrations&#xff0c;migrate来修改数据&#xff0c; 1.Django的ORM支持修改表结构&#xff0c;修改完以后&#xff0c;执行 python manage.py makemigrations python manage.py migrate 这两句&#xff0c;就会看到更新了。超过长度的数据就会丢了。…

input输入框的input事件和change事件

input输入框的onchange事件&#xff0c;要在 input 失去焦点的时候才会触发&#xff1b; 在输入框内容变化的时候不会触发change&#xff0c;当鼠标在其他地方点一下才会触发&#xff1b; onchange 事件也可用于单选框与复选框改变后触发的事件。 demo如下&#xff1a; <sc…

单例设计模式–内省和最佳实践

定义&#xff1a; Singleton是“ 四人帮”设计模式的一部分&#xff0c;它属于创新设计模式。 在本文中&#xff0c;我们将更深入地研究Singleton模式的用法。 就建模而言&#xff0c;它是最简单的设计模式之一&#xff0c;但另一方面&#xff0c;就使用的复杂性而言&#xff0…

修改用户名_Word办公技巧:如何更改文档修订者的用户名?

在一份文档需要多人参与修订的时候,每个审阅者将用户名改为自己的名字就可以方便地看出具体哪个参与者做了哪些改动。下面我们来学习一下更改修订者用户名的办法。 应用场景 下图文档中默认修订者用户名为"AutoBVT",接下来我们想将其改为"李小白"。 操作…

响应式布局 max-device-width 与 max-width 的区别

闲来没事&#xff0c;研究了一下多屏适配和响应式布局的 CSS。 第一种写法 1 media screen and (max-device-width: 320px) {2 3 }4 5 media screen and (min-device-width: 321px) and (max-device-width: 640px) {6 7 }8 9 media screen and (min-device-width: 641px) and…

springboot,修改配置文件不起作用

今天碰到一个奇怪的问题&#xff0c;明明配置了端口&#xff0c;但是每次启动还是用的8080端口&#xff0c;查了下估计是配置文件没生效&#xff0c;然后就去路径配置中把资源文件先移除&#xff0c;再添加&#xff0c;就正常了。 回忆下自己干了啥&#xff0c;发现时在pom.xml…

Java伪随机数生成器(PRNG)中的弱点

这将是Kai Michaelis&#xff0c;JrgSchwenk和我撰写的论文的总结&#xff0c;该论文在RSA Conference 2013的密码学家会议上发表 。 你可以得到我的演讲的幻灯片在这里和我们的全文在这里 。 我们对PRNG&#xff08;主要是SecureRandom&#xff09;附带的常见Java库生成的随机…

asp服务器组件安装包,ASP服务器组件

《ASP服务器组件》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《ASP服务器组件(20页珍藏版)》请在人人文库网上搜索。1、7/10/2020,1,网络开发技术,第二部分 ASP开发技术,7/10/2020,2,第四章 ASP服务器组件,4.1 ASP 服务器组件 ASP服务器组件 ASP服务器组件(ActiveX…

On Comparing Side-Channel Preprocessing Techniques for Attacking RFID Devices

对HF和UHF RFID标签进行DEMA和DFA攻击&#xff0c;并将DFA和应用不同预处理技术的DEMA效果进行比较。 实验中&#xff0c;进行两种隐藏进行攻击&#xff1a; 1、幅域&#xff08;读写器的场干扰&#xff09;隐藏 &#xff08;1&#xff09;DEMA攻击时&#xff0c;轨迹预处理&am…

python超市售货统计程序_用Python实现简易超市售货系统

今天来实现一个简单的超市售货系统数据存储形式为json的数据首先是读取数据&#xff0c;这里用到的Python的json库&#xff0c;用于处理json类型的数据pythondef load(): # 数据读取j open(goods.txt, r, encodingutf-8)# 逐行读取文件中的数据readers j.readlines()# 将数据…

vue安装概要以及vue测试工具

一、概述 1、安装node&#xff0c;去node官网 2、新建一个项目&#xff0c;通过npm init命令初始化&#xff0c;即创建一个package.json文件 3、用命令 npm install vue -g 全局安装vue&#xff08;网上已经有详细的资料&#xff0c;在此就不复述了&#xff09; 二、vue测试…

linux安装与远程连接

1、在VMware上创建新的虚拟机&#xff0c;保证有linux版本的iso镜像文件 具体参考http://jingyan.baidu.com/article/eae0782787b4c01fec548535.html 2、进行切换用户 进行root用户的切换&#xff1a;   #su password: 进行普通用户的切换&#xff1a; #su username 3、编辑…

Spring框架:三种Spring Bean生命周期技术

当使用术语“生命周期”时&#xff0c;Spring的家伙指的是您的bean的构造和破坏&#xff0c;通常这与Spring Context的构造和破坏有关。 在某些情况下&#xff0c;Bean生命周期的管理不是一件容易的事&#xff0c;因为需要它执行自己的内部设置。 当您的bean必须与外部系统进行…

wincc客户机打开服务器文件通讯不上,wincc客户机连不上服务器

如果你计算机名称改正确了&#xff0c;检查一下安装OPC服务软件吗&#xff1f;比如SIMATIC NET。然后试一试下面方法能否解决:首先&#xff0c;设置一下PG/PC接口。方法:开始--设置--控制面板--设置PG/PC接口&#xff0c;在接口分配参数&#xff0c;选择你要的参数(根据你的情…

笔记《精通css》第2章 选择器,注释

第2章 选择器&#xff0c;注释 1.常用选择器&#xff08;id选择器&#xff0c;类选择器&#xff0c;类型选择器&#xff0c;后代选择器&#xff0c;伪类选择器&#xff08;文档结构之外&#xff09;&#xff09; 通用选择器&#xff08;*{ }&#xff09; 高级选择器&a…

Android ios嵌套web页面

我们现在做一个活动页面&#xff0c;Android和ios的活动页面用web来做&#xff0c;方便更改&#xff0c;下面有几个小问题&#xff1b; 1、在Android和ios中&#xff0c;虽然web上面可以存localstorage&#xff0c;但是到了Android和ios上面就失效了&#xff0c;也就是说不能存…

课程学习:程序设计与算法

基本单位 0-1: 1位(2^12), 比特, bit(b)字节: 8位(2^8256), byte(B);1KB: 2^10字节(2^13位)ASCII编码方案就是用一个字节表示一个字母&#xff0c;数字或标点进制转换 十进制->n进制: A0xk^0....AnxK^nn进制->十进制: 取余数(从右往左)十六进制->二进制: 4进制对应1十…

css3点击会移动到点,CSS3过渡点击事件

根据CSS3过渡&#xff1a;div{transition-property: width;transition-duration: 1s;transition-timing-function: linear;transition-delay: 2s;}transition-property&#xff1a;指定应用转换的CSS属性的名称.transition-duration&#xff1a;定义转换所需的时间长度.默认值为…