实例介绍
【实例简介】
【实例截图】
【核心代码】
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>转盘抽奖</title> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edeg"> <!-- 浏览器兼容版本 --> <style> * { margin: 0; padding: 0; } div{ } .rotate_con { margin: 50px auto; width: 320px; height: 320px; } .rotate_row { display: flex; display: -webkit-flex; height: 33.3333333%; } .rotate_item { flex: 0 0 33.3333333%; -webkit-flex: 0 0 33.3333333%; line-height: 106.666666px; text-align: center; background: yellow; padding: 1px; border: 1px solid #fff; box-sizing: border-box; } .item_start { position: relative; background-color: #FF5E5E; color: #FFFFFF; font-weight: bold; cursor: pointer; border-radius: 50%; } .item_start:active { background: #ED745B; } .rotate { position: absolute; width: 5px; height: 106px; top: -53px; left: 53px; background: yellowgreen; transform: rotateZ(0deg); transform-origin: left bottom; -webkit-transform-origin: left bottom; transition: all 1.5s cubic-bezier(0.25, 0.1, 0.25, 1); } .item_active { border-color: red; } </style> </head> <body> <div class="rotate_con"> <div class="rotate_row"> <div class="rotate_item"> RMB100 </div> <div class="rotate_item"> 流量100M </div> <div class="rotate_item"> 谢谢参与 </div> </div> <div class="rotate_row"> <div class="rotate_item"> 再接再厉 </div> <div class="rotate_item item_start" id="start"> 开始 <div class="rotate" id="rotate_zhen"> </div> </div> <div class="rotate_item"> RMB2 </div> </div> <div class="rotate_row"> <div class="rotate_item"> RMB100 </div> <div class="rotate_item"> 谢谢参与 </div> <div class="rotate_item"> 流量100M </div> </div> </div> <script> //获取对象 var getid = function(id) { return document.getElementById(id); }; //按照旋转顺序的数组 var context = ["流量100M", "谢谢参与", "RMB2", "流量100M", "谢谢参与", "RMB100", "再接再厉", "RMB100"]; var deg = 45, //旋转的默认角度360/8 numdeg = 0, //记录上次旋转停止时候的角度 num = 0, //记录旋转后数组的位置 isRotated = false; //判断是否在进行中 window.onload = function() { var zhen = getid("rotate_zhen"); getid("start").addEventListener('click', function() { if(isRotated) return; //如果正在旋转退出程序 isRotated = true; var index = Math.floor(Math.random() * 8); //得到0-7随机数 num = index num; //得到本次位置 numdeg = index * deg Math.floor(Math.random() * 3 1) * 360; zhen.style.webkitTransform = zhen.style.transform = "rotateZ(" numdeg "deg)"; setTimeout(function() { if(num >= 8) { //如果数组位置大于7就重新开始 num = num % 8; } alert(context[num]); isRotated = false; //旋转改为false说明没有旋转 }, 1700) }, false) } </script> </body> </html>
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论