360度立体抽奖盒,定制属于你的规则!
2018-06-24 01:45:13来源:未知 阅读 ()
使用JS和CSS3实现360度立体抽奖盒
效果图:
下面为大家附上代码哟,定制属于你们的抽奖盒:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> html,body,ul {margin: 0;padding: 0;} body {perspective: 1200px;overflow: hidden;} ul { position: relative; width: 200px; height: 200px; margin: 100px auto; -webkit-transition: preserve-3d; -moz-transition: preserve-3d; -ms-transition: preserve-3d; transition: 5s ease-out; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; cursor: pointer; } ul li { position: absolute; top: 0; left: 0; width: 100%; height: 100%; list-style: none; color: #fff; font-size: 24px; text-align: center; line-height: 200px; border-radius: 10%; } li:nth-child(1) { background: rgba(145, 41, 55, 0.9); -webkit-transform: translateZ(100px); -moz-transform: translateZ(100px); -ms-transform: translateZ(100px); -o-transform: translateZ(100px); transform: translateZ(100px); } li:nth-child(2) { background: rgba(54, 49, 46, 0.9); -webkit-transform: rotateY(90deg) translateZ(100px); -moz-transform: rotateY(90deg) translateZ(100px); -ms-transform: rotateY(90deg) translateZ(100px); -o-transform: rotateY(90deg) translateZ(100px); transform: rotateY(90deg) translateZ(100px); } li:nth-child(3) { background: rgba(149, 121, 123, 0.9); -webkit-transform: translateZ(-100px); -moz-transform: translateZ(-100px); -ms-transform: translateZ(-100px); -o-transform: translateZ(-100px); transform: translateZ(-100px); } li:nth-child(4) { background: rgba(102, 99, 79, 0.9); -webkit-transform: rotateY(-90deg) translateZ(100px); -moz-transform: rotateY(-90deg) translateZ(100px); -ms-transform: rotateY(-90deg) translateZ(100px); -o-transform: rotateY(-90deg) translateZ(100px); transform: rotateY(-90deg) translateZ(100px); } li:nth-child(5) { background: rgba(197, 113, 84, 0.9); -webkit-transform: rotateX(90deg) translateZ(100px); -moz-transform: rotateX(90deg) translateZ(100px); -ms-transform: rotateX(90deg) translateZ(100px); -o-transform: rotateX(90deg) translateZ(100px); transform: rotateX(90deg) translateZ(100px); } li:nth-child(6) { background: rgba(219, 184, 143, 0.9); -webkit-transform: rotateX(-90deg) translateZ(100px); -moz-transform: rotateX(-90deg) translateZ(100px); -ms-transform: rotateX(-90deg) translateZ(100px); -o-transform: rotateX(-90deg) translateZ(100px); transform: rotateX(-90deg) translateZ(100px); } </style> </head> <body> <ul id="box"> <li>苹果X</li> <li>OPPO R11s</li> <li>小米7</li> <li>谢谢参与</li> <li>VIVO X9</li> <li>苹果8</li> </ul> <script> window.onload = function(){ wrap.style.cssText = "transform: rotateX(360deg) rotateY(360deg);transition: 1s ease-out;" } var wrap = document.getElementById('box'); var degArr = [-360,-270,-180,-90,0,90,180,270,360]; //各个面对应角度 wrap.onclick = function(){ var round = 4 + Math.floor(Math.random()*9); //旋转圈数 var randX = Math.floor(Math.random()*9); //随机X var randY = Math.floor(Math.random()*9); //随机Y var degX = round*360+degArr[randX]; var degY = round*360+degArr[randY]; wrap.style.cssText = "transform: rotateX("+degX+"deg) rotateY("+degY+"deg)"; } </script> </body> </html>
如有错误,请联系指正,非常感谢!!!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JS数组抽奖程序教学实例 2019-08-14
- Vue 幸运大转盘 2019-05-08
- Js 转动抽奖实现 2019-01-10
- 用jQuery编写简单九宫格抽奖 2018-07-03
- 【javascript】九宫格抽奖组件设计 2018-06-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash