这是一款基于zepto适合移动端的幸运大转盘插件。该幸运大转盘特效使用简单,可以在桌面端和移动端使用。
在页面中引入kinerLottery.css,zepto.js和kinerLottery.js文件。
<link rel="stylesheet" href="css/kinerLottery.css"> <script src="js/zepto.min.js"></script> <script src="js/kinerLottery.js"></script>
该幸运大转盘的HTML结构如下:
<div id="box" class="box"> <div class="outer KinerLottery KinerLotteryContent"> <img src="./images/lanren.png"> </div> <div class="inner KinerLotteryBtn start"></div> </div>
在页面DOM元素加载完毕之后,通过下面的方法来初始化该幸运大转盘插件。
/** * 根据转盘旋转角度判断获得什么奖品 * @param deg * @returns {*} */ var whichAward = function(deg) { if ((deg > 330 && deg <= 360)="" ||="" (deg=""> 0 && deg <= 30))="" {="" 10m流量="" return="" "三网通流量="" 10m";="" }="" else="" if="" ((deg=""> 30 && deg <= 90))="" {="" iphone="" 7="" return="" "iphone7";="" }="" else="" if="" (deg=""> 90 && deg <= 150)="" {="" 30m流量="" return="" "三网通流量="" 30m";="" }="" else="" if="" (deg=""> 150 && deg <= 210)="" {="" 5元话费="" return="" "话费5元";="" }="" else="" if="" (deg=""> 210 && deg <= 270)="" {="" ipad="" mini="" 4="" return="" "ipad="" mini4";="" }="" else="" if="" (deg=""> 270 && deg <= 330)="" {="" 20元话费="" return="" "话费20元";="" }="" }="" var="" kinerlottery="new" kinerlottery({="" rotatenum:="" 8,="" 转盘转动圈数="" body:="" "#box",="" 大转盘整体的选择符或zepto对象="" direction:="" 0,="" 0为顺时针转动,1为逆时针转动="" disabledhandler:="" function(key)="" {="" switch="" (key)="" {="" case="" "nostart":="" alert("活动尚未开始");="" break;="" case="" "completed":="" alert("活动已结束");="" break;="" }="" },="" 禁止抽奖时回调="" clickcallback:="" function()="" {="" 此处访问接口获取奖品="" function="" random()="" {="" return="" math.floor(math.random()="" *="" 360);="" }="" this.gokinerlottery(random());="" },="" 点击抽奖按钮,再次回调中实现访问后台获取抽奖结果,拿到抽奖结果后显示抽奖画面="" kinerlotteryhandler:="" function(deg)="" {="" alert("恭喜您获得:"="" +="" whichaward(deg));="" }="" 抽奖结束回调="" });="">=>=>=>=>=>=>=>