抽奖系统(慕课网题目)

要求实现功能:

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;
        }
    }
};

 

转载于:https://www.cnblogs.com/sunxirui00/p/7512570.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、引言 抽奖系统是一个基于络的抽奖应用程序,用户可以通过该系统参与各种抽奖活动,并有机会获得丰厚的奖品。本文档旨在描述该系统的需求规格,包括系统的功能、性能、界面、安全等方面的要求,以及用户需求和系统限制等内容。 二、用户需求 1. 用户可以通过注册账号登录系统,并完善个人信息。 2. 用户可以浏览当前的抽奖活动,并选择参与感兴趣的活动。 3. 系统支持多种不同的抽奖方式,如随机抽取、中奖率抽取、定向抽取等。 4. 用户参与抽奖后可以实时查看自己的中奖情况。 5. 系统支持奖品的发放和兑换,用户可以通过系统领取自己中得的奖品或者将奖品兑换为其他物品。 6. 系统可以通过短信、邮件等方式为用户发送中奖通知和其他相关信息。 7. 系统需要具备高可用性和稳定性,确保用户的抽奖体验不受影响。 三、系统功能要求 1. 系统应该提供注册、登录、个人信息管理等基本功能。 2. 系统应该支持管理员对抽奖活动进行管理,包括添加、删除、修改活动等操作。 3. 系统应该支持不同的抽奖方式,包括随机抽取、中奖率抽取、定向抽取等。 4. 系统应该支持奖品的管理,包括添加、删除、修改奖品等操作。 5. 系统应该支持奖品的发放和兑换,确保用户能够方便地领取或兑换奖品。 6. 系统应该实时更新用户的中奖情况,确保用户可以随时查看自己的中奖情况。 7. 系统应该支持通过短信、邮件等方式向用户发送中奖通知等信息。 8. 系统应该具备高可用性和稳定性,确保用户的抽奖体验不受影响。 四、系统性能要求 1. 系统应该能够支持大量用户同时在线参与抽奖活动,同时保证系统的响应速度和稳定性。 2. 系统应该具备较高的并发处理能力,确保用户可以实时查看自己的中奖情况。 3. 系统应该可以快速地处理大量的抽奖数据,确保用户的中奖情况得到及时更新。 4. 系统应该支持数据备份和恢复功能,确保系统数据的安全和可靠性。 五、系统界面要求 1. 系统应该具有友好的用户界面,方便用户进行操作。 2. 系统应该支持多种语言和主题风格,以满足不同用户的需求。 3. 系统应该能够自适应不同的屏幕尺寸和分辨率,确保用户可以在不同设备上使用该系统。 4. 系统应该提供清晰明了的界面设计和操作流程,以提高用户的使用体验。 六、系统安全要求 1. 系统应该采用安全可靠的身份验证机制,确保用户的账号和密码得到有效保护。 2. 系统应该采用加密技术对用户的敏感数据进行保护,如个人信息、中奖情况等。 3. 系统应该具备防止恶意攻击和数据泄露的能力,包括防火墙、数据备份等措施。 4. 系统应该具备监控和日志记录功能,以便追踪和分析系统的异常操作和事件。 七、系统限制 1. 系统需要具备较高的处理能力和存储能力,需要配置适当的硬件和软件环境。 2. 系统需要与络连接,需要考虑络延迟和不稳定性等问题。 3. 系统需要遵守相关法律法规和行业规范,如络安全法、个人信息保护法等。 4. 系统需要考虑不同地区和国家的文化差异和法律限制,如奖品的种类和价值等。 以上是抽奖系统的需求规格说明书,该文档旨在为开发人员提供明确的需求和要求,并确保系统的性能、可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值