特效介绍
awardRotate.js是一个基于jQuery的转盘抽奖插件,转盘转动采用了css3的transform属性的rotate旋转,并且对IE浏览器进行了大量的兼容,兼容到IE7。动画效果为:指针不转,而是圆盘转动,转动速度由快到慢。使用方便,在转盘转动结束后,随机显示抽奖内容。在转盘转动过程中,再点击是无效的,只有完全停止转动后,点击才会再次转动。
使用方法
1、引入相关css和js
<link rel="stylesheet" href="css/demo.css" type="text/css" /> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/awardRotate.js"></script>2、html代码
<div class="turntable-bg"> <div class="pointer"><img src="images/pointer.png" alt="pointer" /></div> <div class="rotate"><img id="rotate" src="images/turntable2.png" alt="turntable" /></div> </div>3、js代码:
$(function (){ var rotateTimeOut = function (){ $('#rotate').rotate({ angle:0, animateTo:2160, duration:8000, callback:function (){ alert('网络超时,请检查您的网络设置!'); } }); }; var bRotate = false; var rotateFn = function (awards, angles, txt){ bRotate = !bRotate; $('#rotate').stopRotate(); $('#rotate').rotate({ angle:0, animateTo:angles+1800, duration:3000, callback:function (){ alert(txt); bRotate = !bRotate; } }) }; $('.pointer').click(function (){ if(bRotate)return; var item = rnd(0,7); switch (item) { case 0: //var angle = [26, 88, 137, 185, 235, 287, 337]; rotateFn(0, 337, '未中奖'); break; case 1: //var angle = [88, 137, 185, 235, 287]; rotateFn(1, 26, '一等奖'); break; case 2: //var angle = [137, 185, 235, 287]; rotateFn(2, 88, '二等奖'); break; case 3: //var angle = [137, 185, 235, 287]; rotateFn(3, 137, '三等奖'); break; case 4: //var angle = [185, 235, 287]; rotateFn(4, 185, '四等奖'); break; case 5: //var angle = [235, 287]; rotateFn(5, 235, '五等奖'); break; case 6: //var angle = [287]; rotateFn(6, 287, '安慰奖'); break; } console.log(item); }); }); //随机数 function rnd(n, m){ return Math.floor(Math.random()*(m-n+1)+n) }