javascript實現(xiàn)隨機抽獎功能
javascript實現(xiàn)隨機抽獎,供大家參考,具體內(nèi)容如下
首先創(chuàng)建一個數(shù)組用于存放抽獎的參與者:
var arr=['張三','波波','kk','莉莉','張三豐','劉德華','周杰困','你那兒','zhere','好的'];
給開始和結(jié)束按鈕div添加點擊事件:
//添加點擊開始則開始循環(huán)播放 document.getElementById("start").addEventListener("click",va); //點擊停止則停止播放并顯示恭喜中獎 document.getElementById("end").addEventListener("click",function (){ count++; clearTimeout(i); var name=arr[thisone]; arr.splice(thisone,1); var get=document.getElementById("get"); get.innerHTML=get.innerHTML+'<br>'; get.innerText=get.innerText+`${count}. `+name; })
用setTimeout實現(xiàn)循環(huán)事件,每隔100毫秒就執(zhí)行一次循環(huán),隨機得到存放參與者的數(shù)組的長度之間的隨機數(shù),不斷修改innerText實現(xiàn)用戶滾動效果:
//循環(huán)事件 function va(){ let num=arr.length; console.log(num); if(num===0){ clearTimeout(i); //移除開始事件 document.getElementById("start").removeEventListener("click",va); document.getElementById("show").innerText="沒有了"; return; } setTimeout("show()",100); } //獲得當(dāng)前名字下標(biāo) function getindex() { return parseInt(Math.random()*arr.length); } //循環(huán)播放列表 function show(){ thisone=getindex(); document.getElementById("show").innerText=arr[thisone]; i=setTimeout("show()",100); }
實現(xiàn)的最終效果圖如下:
當(dāng)點擊開始時:
當(dāng)點擊暫停時:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
XMLHttpRequest對象_Ajax異步請求重點(推薦)
下面小編就為大家?guī)硪黄猉MLHttpRequest對象_Ajax異步請求重點(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09JavaScript支持的最大遞歸調(diào)用次數(shù)分析
這篇文章主要介紹了JavaScript支持的最大遞歸調(diào)用次數(shù)分析,也稱JavaScript支持的最大堆棧數(shù)量,需要的朋友可以參考下2014-06-06Bootstrap Table服務(wù)器分頁與在線編輯應(yīng)用總結(jié)
這篇文章主要介紹了Bootstrap Table服務(wù)器分頁與在線編輯應(yīng)用總結(jié) 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08mock.js實現(xiàn)模擬生成假數(shù)據(jù)功能示例
這篇文章主要介紹了mock.js實現(xiàn)模擬生成假數(shù)據(jù)功能,結(jié)合實例形式分析了mock.js插件生成模擬數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01