JavaScript抽獎效果詳解
關於更多的抽獎特效可以參閱抽獎特效分割槽。
下面分享一段簡單的抽獎效果程式碼,並詳細介紹一下它的實現過程。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> *{ margin:0; padding:0; } .title{ width:400px; height:70px; margin:0 auto; padding-top:30px; text-align:center; font-size:24px; font-weight:bold; color:#F00; } .btns{ width:190px; height:30px; margin:0 auto; } .btns span{ display:block; float:left; width:80px; height:27px; line-height:27px; background:#036; border:1px solid #eee; border-radius:7px; margin-right:10px; color:#FFF; text-align:center; font-size:14px; font-family:"微軟雅黑"; cursor:pointer; } </style> <script> var data=['螞蟻部落一','螞蟻部落二','www.softwhy.com','js教程','css教程','div教程','jquery教程'], timer=null; window.onload=function(){ var Title=document.getElementById('title'), Play=document.getElementById('play'), Stop=document.getElementById('stop'), flag=0; Play.onclick=playfun; //開始 Stop.onclick=stopfun; //停止 // 按鍵開始 document.onkeyup=function(event){ event=event || window.event; if(event.keyCode==13){ if(flag==0){ playfun(); flag=1; }else{ stopfun(); flag=0; } } } } function playfun(){ var Title=document.getElementById('title'), Play=document.getElementById('play'); clearInterval(timer); timer=setInterval(function(){ var random=Math.floor(Math.random()*data.length); Title.innerHTML=data[random]; },50) Play.style.background='#999'; } function stopfun(){ var Play=document.getElementById('play'); clearInterval(timer); Play.style.background='#036'; } </script> </head> <body> <div id="title" class="title">開始抽獎</div> <div class="btns"> <span id="play">開 始</span> <span id="stop">停 止</span> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).data=['螞蟻部落一','螞蟻部落二','www.softwhy.com','js教程','css教程','div教程','jquery教程'],儲存獎品的陣列。
(2).timer=null,用來儲存定時器函式的標識。
(3).window.onload=function(){}每當文件內容完全載入完畢再去執行函式中的程式碼。
(4).Title=document.getElementById('title'),獲取指定id的元素物件。
(5). Play.onclick=playfun,點選可以開始抽獎。(6).Stop.onclick=stopfun,點選停止抽獎。
(7).document.onkeyup=function(event){},註冊onkeyup事件處理函式。
(8).event=event || window.event,相容時間物件。
(9).if(event.keyCode==13){
if(flag==0){
playfun();
flag=1;
}else{
stopfun();
flag=0;
}
},如果是點選的Enter鍵,那麼點選回車可以實現開始和停止的切換。
flag是一個標識,用來標識當前是抽獎狀態還是停止狀態。
(10).function playfun(){},實現了抽獎效果。
(11).Title=document.getElementById('title')獲取指定的元素物件。
(12).clearInterval(timer),停止上一次抽獎,防止疊加現象。
(13).timer=setInterval(function(){
var random=Math.floor(Math.random()*data.length);
Title.innerHTML=data[random];
},50),從陣列中隨機抽取獎品,然後寫入指定元素。
(14).設定開始按鈕背景顏色。
(15).function stopfun(){
var Play=document.getElementById('play');
clearInterval(timer);
Play.style.background='#036';
},停止抽獎效果。
二.相關閱讀:
(1).document.getElementById()參閱document.getElementById()一章節。
(2).onkeyup事件參閱javascript keyup事件一章節。
(3).keyCode參閱javascript event.keyCode一章節。
(4).clearInterval()參閱clearInterval()一章節。
(5).setInterval()參閱setInterval()一章節。
(6).Math.floor()參閱javascript Math.floor()一章節。
(7).Math.random()參閱javascript Math.random()一章節。
(8).innerHTML參閱innerHTML一章節。
相關文章
- JavaScript實現隨機抽獎效果JavaScript隨機
- 微信小程式翻牌抽獎效果微信小程式
- JavaScript 打字機效果詳解JavaScript
- JavaScript 秒錶效果詳解JavaScript
- iOS 抽獎輪盤效果實現思路iOS
- JavaScript 雪花飄舞效果詳解JavaScript
- JavaScript省市級聯效果詳解JavaScript
- JavaScript彈幕效果程式碼詳解JavaScript
- JavaScript數字分頁效果詳解JavaScript
- 抽獎動畫 - 九宮格抽獎動畫
- 抽獎動畫 - lao虎機抽獎動畫
- 抽獎動畫 - 大轉盤抽獎動畫
- 抽獎動畫 - 紅包雨抽獎動畫
- JavaScript 動態進度條效果詳解JavaScript
- JavaScript自動更新時間效果詳解JavaScript
- JavaScript焦點圖輪播效果詳解JavaScript
- js抽獎JS
- JavaScript動態圓形鐘錶效果詳解JavaScript
- 隨機抽獎隨機
- php抽獎功能PHP
- flutter上拉抽屜效果,flutter拖動抽屜效果Flutter
- 中獎與抽獎次序無關
- 如何模仿MX抽獎
- 抽獎測試點
- 樂智抽獎外掛
- PHP抽獎演算法PHP演算法
- JavaScript this詳解JavaScript
- 【微信刮刮卡抽獎遊戲】教你輕鬆做個抽獎遊戲頁面遊戲
- H5活動抽獎H5
- 微信小程式抽獎-翻牌微信小程式
- 活動抽獎元件設計元件
- 大轉盤抽獎系統
- 手遊“抽獎介面”的思考
- 簡易版抽獎小程式
- 抽獎系統細節玩法
- 盲盒抽獎以及如何盈利
- 按照獎品概率分佈抽獎的實現概率分佈
- jQuery彈幕效果詳解jQuery