慕課網(wǎng)題目之js實(shí)現(xiàn)抽獎系統(tǒng)功能
本文實(shí)例為大家分享了js實(shí)現(xiàn)抽獎系統(tǒng)功能的具體代碼,供大家參考,具體內(nèi)容如下
要求實(shí)現(xiàn)功能:
1.點(diǎn)擊左側(cè)按鍵,開始抽獎,點(diǎn)擊右側(cè)按鍵,停止抽獎;
2.敲擊回車鍵,開始抽獎,再次敲擊回車鍵,停止抽獎;
3.開始抽獎后,左側(cè)按鈕變色;
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>抽獎</title>
<link rel="stylesheet" href="style.css">
<script src="eventUtil.js"></script>
<script src="js.js"></script>
</head>
<body>
<div class="box">
<div id="header">開始抽獎啦!</div>
<div id="btn">
<span id="start">開始</span>
<span id="stop">結(jié)束</span>
</div>
</div>
</body>
</html>
css:
body{
margin: 0;
padding: 0;
}
.box{
width: 400px;
height: 200px;
border: 1px solid #0C4E7C;
margin: 0 auto;
}
#header{
color:darkred;
font-size: 24px;
text-align: center;
width: 400px;
height: 60px;
line-height: 60px;
}
#btn{
width: 200px;
overflow: hidden;
margin: 30px auto 0;
}
#btn span{
cursor: pointer;
border: 2px solid #a09a09;
border-radius: 7px;
margin-right: 10px;
color: #000;
display: inline-block;
height: 40px;
width: 80px;
background-color: #f2ec55;
line-height: 40px;
text-align: center;
}
JavaScript:
js.js:
var date = ["謝謝參與", "謝謝參與", "謝謝參與", "50元話費(fèi)", "ipad", "佳能相機(jī)", "蘋果手機(jī)", "3DS", "switch", "1000元超市購物卡"];
var timer = null;
var flag = 0;
window.onload = function () {
// var header = document.getElementById("header");優(yōu)化前
var start = document.getElementById("start");
var stop = document.getElementById("stop");
//鼠標(biāo)抽獎
eventUtil.addHandler(start, "click", getStart);
eventUtil.addHandler(stop, "click", getStop);
//鍵盤抽獎;
document.onkeyup = function (event) {
var e = event || window.event;
//檢測按鍵鍵值;
// console.log(e.keyCode);
if (e.keyCode === 13) {
if (flag === 0) {
getStart();
flag = 1;
} else {
getStop();
flag = 0;
}
}
};
function getStart() {
clearInterval(timer);
var header = document.getElementById("header");//優(yōu)化后
timer = setInterval(function () {
//代碼優(yōu)化前
//var x = parseInt(Math.random()*10);
var random = Math.floor(Math.random() * date.length);
header.innerHTML = date[random];
}, 50);
start.style.backgroundColor = "#999";
flag = 1;
}
function getStop() {
clearInterval(timer);
start.style.backgroundColor = "#f2ec55";
flag = 0;
}
};
eventUtil.js
var eventUtil = {
getEvent:function (event) {
return event?event:window.event;
},
getType: function (event) {
return event.type;
},
getTarget:function (event) {
return event.target||event.srcElement;
},
//阻止冒泡
stopPropagation:function (event) {
if(event.stopPropagation){
event.stopPropagation();
}else {
event.cancelBubble=true;
}
},
//阻止事件默認(rèn)行為;
preventDefault:function(event){
if(event.preventDefault){
event.preventDefault();
}else {
event.returnValue = false;
}
},
//添加具柄;
addHandler: function (element, type, Handler) {
if (element.ç) {
element.addEventListener(type, Handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, Handler);
} else {
element["on" + type] = Handler;
}
},
//刪除具柄;
removeHandler: function (element, type, Handler) {
if (element.removeEventListener) {
element.removeEventListener(type, Handler, false);
} else if (element.detachEvent) {
element.detachEvent("on" + type, Handler);
} else {
element["on" + type] = null;
}
}
};
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 原生js實(shí)現(xiàn)簡易抽獎系統(tǒng)
- JavaScript實(shí)現(xiàn)簡單抽獎系統(tǒng)
- 基于JavaScript實(shí)現(xiàn)抽獎系統(tǒng)
- JavaScript-定時器0~9抽獎系統(tǒng)詳解(代碼)
- js組件SlotMachine實(shí)現(xiàn)圖片切換效果制作抽獎系統(tǒng)
- 基于javascript實(shí)現(xiàn)簡單的抽獎系統(tǒng)
- javascript實(shí)現(xiàn)可鍵盤控制的抽獎系統(tǒng)
- 用Javascript輕松制作一套簡單的抽獎系統(tǒng)
- js實(shí)現(xiàn)簡單的抽獎系統(tǒng)
相關(guān)文章
JavaScript實(shí)現(xiàn)扯網(wǎng)動畫效果的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript語言實(shí)現(xiàn)扯網(wǎng)動畫效果,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JS有一定的幫助,需要的可以參考一下2022-06-06
使用JavaScript動態(tài)設(shè)置樣式實(shí)現(xiàn)代碼(2)
使用onmouseover和onmouseout事件實(shí)現(xiàn)不同的效果而且是使用js動態(tài)實(shí)現(xiàn),本文有利于鞏固你js與css方面的知識,感興趣的你可以了解下哦,希望本文對你有所幫助2013-01-01
JavaScript子類用Object.getPrototypeOf去調(diào)用父類方法解析
這篇文章主要介紹了JavaScript子類用Object.getPrototypeOf去調(diào)用父類方法。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
只有 20 行的 JavaScript 模板引擎實(shí)例詳解
這篇文章主要介紹了只有 20 行的 JavaScript 模板引擎,結(jié)合實(shí)例形式分析了JavaScript 模板引擎實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05

