於zepto實現的適合移動網頁的大轉盤效果

來源:酷知科普網 2.91W

於zepto實現的適合移動網頁的大轉盤效果

操作方法

(01)準備好需要用到的圖。

於zepto實現的適合移動網頁的大轉盤效果

(02)新建html文件。

於zepto實現的適合移動網頁的大轉盤效果 第2張

(03)書寫hmtl程式碼。<div id="box" class="box"><div class="outer KinerLottery KinerLotteryContent"><img src="./images/zzz.png"></div>進行匹配狀態 --><div class="inner KinerLotteryBtn start"></div></div>

於zepto實現的適合移動網頁的大轉盤效果 第3張

(04)書寫css程式碼。html { font-size: 20px; }@media only screen and (min-width:401px) {html { font-size: 25px !important; }}@media only screen and (min-width:428px) {html { font-size: 26.75px !important; }}@media only screen and (min-width:481px) {html { font-size: 30px !important; }}@media only screen and (min-width:569px) {html { font-size: 35px !important; }}@media only screen and (min-width:641px) {html { font-size: 40px !important; }}html, body { padding: 0; margin: 0; background: #fffeea; height: 100%; }p, li, b, span, div, strong, h1, h2, h3, h4, h5, h6, a, ul { margin: 0; padding: 0; text-decoration: none; list-style: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } { width: 14rem; height: 14rem; position: relative; margin: 0 auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); } r { width: 100%; height: 100%; position: absolute; z-index: 1; top: 0; left: 0; transform: rotate(0deg); -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); } r img { width: 100%; } r { position: relative; width: 5rem; height: 5rem; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 2; background-image: url(../images/arrow.png); background-size: auto 5rem; background-repeat: no-repeat; } t:active { -webkit-transform: translate(-50%, -50%) scale(.95); -moz-transform: translate(-50%, -50%) scale(.95); -ms-transform: translate(-50%, -50%) scale(.95); -o-transform: translate(-50%, -50%) scale(.95); transform: translate(-50%, -50%) scale(.95); } t { background-position: 0 0; } -start { background-position: -5rem 0; } leted { background-position: -10rem 0; }

於zepto實現的適合移動網頁的大轉盤效果 第4張

(05)書寫並新增js程式碼。<script src="js/"></script><script src="js/"></script><script>var whichAward = function(deg) {if ((deg > 330 && deg <= 360) || (deg > 0 && deg <= 30)) { //10M流量return "10M";} else if ((deg > 30 && deg <= 90)) {return "iPhone7";} else if (deg > 90 && deg <= 150) {return "30M";} else if (deg > 150 && deg <= 210) {return "費5";} else if (deg > 210 && deg <= 270) {return "ipad mini4";} else if (deg > 270 && deg <= 330) {return "費2";}}var KinerLottery = new KinerLottery({rotateNum: 8,body: "#box",direction: 0,disabledHandler: function(key) {switch (key) {case "noStart":alert("尚未開始");break;case "completed":alert("已結束");break;}},clickCallback: function() {function random() {return r(om() * 360);}nerLottery(random());},KinerLotteryHandler: function(deg) {alert("獲得:" + whichAward(deg));}});</script>

於zepto實現的適合移動網頁的大轉盤效果 第5張

(06)書寫<script src="js/"></script> 程式碼。<script>(function(win, doc, $) {var defaultOpt = {rotateNum: 5,body: "",disabledHandler: function() {},clickCallback: function() {},KinerLotteryHandler: function(deg) {}};function KinerLottery(opts) { = $nd(true, {}, defaultOpt, opts);g = false;();}pts = function(opts) { = $nd(true, {}, defaultOpt, opts);();}; = function() {var self = this;um = teNum * 360;$('body')('click', "rLotteryBtn", function() {if ($(this)lass('start') && !g) {('點選');(self);} else {var key = $(this)lass('no-start') ? "noStart" : $(this)lass('completed') ? "completed" : "illegal";bledHandler(key);}});$()('rLotteryContent')(0)ventListener('webkitTransitionEnd', function() {g = false;var deg = $()('data-deg');if (ction == 0) {$()('data-deg', 360 - deg);$()('rLotteryContent')({'-webkit-transition': 'none','transition': 'none','-webkit-transform': 'rotate(' + (deg) + 'deg)','transform': 'rotate(' + (deg) + 'deg)'});rLotteryHandler(360 - deg);} else {$()('data-deg', deg);$()('rLotteryContent')({'-webkit-transition': 'none','transition': 'none','-webkit-transform': 'rotate(' + (-deg) + 'deg)','transform': 'rotate(' + (-deg) + 'deg)'});rLotteryHandler(deg);}});};nerLottery = function(_deg) {if (g) {return;}var deg = _deg + um;var realDeg = ction == 0 ? deg : -deg;g = true;$()('rLotteryBtn')lass('doing');$()('rLotteryContent')({'-webkit-transition': 'all 5s','transition': 'all 5s','-webkit-transform': 'rotate(' + (realDeg) + 'deg)','transform': 'rotate(' + (realDeg) + 'deg)'});$()('data-deg', _deg);};rLottery = KinerLottery;})(window, document, $);</script>

於zepto實現的適合移動網頁的大轉盤效果 第6張

(07)程式碼整體結構。

(08)檢視效果。

於zepto實現的適合移動網頁的大轉盤效果 第7張

特別提示

是個js包,可以網上下載。

熱門標籤