本文实例为大家分享了js实现抽奖系统功能的具体代码,供大家参考,具体内容如下

要求实现功能:
1.点击左侧按键,开始抽奖,点击右侧按键,停止抽奖;
2.敲击回车键,开始抽奖,再次敲击回车键,停止抽奖;
3.开始抽奖后,左侧按钮变色;
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">结束</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元话费", "ipad", "佳能相机", "苹果手机", "3DS", "switch", "1000元超市购物卡"];
var timer = null;
var flag = 0;
window.onload = function () {
// var header = document.getElementById("header");优化前
var start = document.getElementById("start");
var stop = document.getElementById("stop");
//鼠标抽奖
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");//优化后
timer = setInterval(function () {
//代码优化前
//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;
}
},
//阻止事件默认行为;
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;
}
}
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 抽奖系统
# 原生js实现简易抽奖系统
# JavaScript实现简单抽奖系统
# 基于JavaScript实现抽奖系统
# JavaScript-定时器0~9抽奖系统详解(代码)
# js组件SlotMachine实现图片切换效果制作抽奖系统
# 基于javascript实现简单的抽奖系统
# javascript实现可键盘控制的抽奖系统
# 用Javascript轻松制作一套简单的抽奖系统
# js实现简单的抽奖系统
# 回车键
# 佳能
# 鼠标
# 大家分享
# 话费
# 具体内容
# 大家多多
# 键值
# px
# width
# padding
# border
# solid
# height
# header
# btn
# box
# id
# stop
# margin
相关文章:
网站图片在线制作软件,怎么在图片上做链接?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
建站之星代理如何优化在线客服效率?
建站之星如何开启自定义404页面避免用户流失?
建站之星如何快速生成多端适配网站?
IOS倒计时设置UIButton标题title的抖动问题
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
定制建站是什么?如何实现个性化需求?
深圳网站制作培训,深圳哪些招聘网站比较好?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
jQuery 常见小例汇总
如何快速辨别茅台真假?关键步骤解析
开封网站制作公司,网络用语开封是什么意思?
如何在IIS管理器中快速创建并配置网站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
盘锦网站制作公司,盘锦大洼有多少5G网站?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
如何正确选择百度移动适配建站域名?
如何在云虚拟主机上快速搭建个人网站?
C#如何使用XPathNavigator高效查询XML
如何用已有域名快速搭建网站?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何用西部建站助手快速创建专业网站?
建站之星如何快速解决建站难题?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
XML的“混合内容”是什么 怎么用DTD或XSD定义
如何选择香港主机高效搭建外贸独立站?
微信小程序 五星评分(包括半颗星评分)实例代码
股票网站制作软件,网上股票怎么开户?
如何在阿里云服务器自主搭建网站?
如何在腾讯云服务器快速搭建个人网站?
建站主机如何选?高性价比方案全解析
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
网页设计与网站制作内容,怎样注册网站?
网站制作公司,橙子建站是合法的吗?
建站之星安装失败:服务器环境不兼容?
如何选择建站程序?包含哪些必备功能与类型?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
建站中国官网:模板定制+SEO优化+建站流程一站式指南
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
如何选择适合PHP云建站的开源框架?
完全自定义免费建站平台:主题模板在线生成一站式服务
如何通过虚拟主机快速完成网站搭建?
如何选择靠谱的建站公司加盟品牌?
手机网站制作与建设方案,手机网站如何建设?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
建站之星安装提示数据库无法连接如何解决?
*请认真填写需求信息,我们会在24小时内与您取得联系。