一、总体思路:
实现抽奖,主要实现三部分即可:
参与抽奖姓名的显示部分 开始按钮 停止按钮
☆具体实现步骤:
1. 在body内设置元素基本信息
1.1. 设置显示框(用于显示中奖人名,可以使div、input等等)
1.2. 设置开始按钮、结束按钮(input框)
2. 在script标签内编写脚本
2.1 定义一个数组,用于存放抽奖人名信息
2.2 设置开始按钮和停止按钮的可用或不可用状态
(点击按钮之前:开始按钮为可用状态,结束按钮为不可用状态)
3. 给开始按钮绑定事件
3.1. 在开始按钮绑定的事件中设置循环定时器
3.2. 在定时器中设置开始按钮和停止按钮的状态
(点击开始按钮之后:开始按钮为不可用状态,结束按钮为可用状态)
3.3. 获取(1-n)之间的随机数 (n代表数组中参与抽奖的人名个数)
3.4. 设置显示框(用于显示中奖人名)的文本内容(人名)
4. 给结束按钮绑定事件
4.1 设置开始按钮和结束按钮的状态
(点击结束按钮之后:开始按钮为不可用状态,结束按钮为可用状态)
4.2 清除定时器(结束循环状态)
二、使用到的方法
1. 在js中定义数组: var 数组名 =【”元素1“,”元素2“..........】;
2. jquery的函数入口:$ ( function ( ) { } );
3. 获取/操作属性值: $("#id名") .prop("属性名",“属性值“);
4. 绑定点击事件: $("#id名") .click(函数);
5. 设置循环定时器: setInterval(函数,时间)
6. 生成随机数:
Math.random( ); 生成0-1之间的随机数;
Math.random( )*n; 生成0-n之间的随机数 ( 包含小数 );
Math.floor( Math.random( )*n ); 生成0-(n-1)之间的随机整数;
Math.floor( (Math.random()*n)+1); 生成1-n之间的随机整数;
7.清除定时器: clearInterval ( 定时器名称 );
三、代码实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>抽签</title>
<script src="jquery-3.3.1.min.js"></script>
</head>
<script>
$(function(){
//定义一个数组,用于存储姓名
var names=[
"张三",
"李四",
"诸葛亮",
"刘备",
"曹操",
"韩非",
"张良",
"卫庄",
"盖聂",
];
var time;//定义成员变量,用于接收定时器,也是为清除定时器作准备
var index;//定义成员变量,用于接收生成的随机数,也是为了给input框设置value值做准备
//先设置按钮的可用性(在点击按钮之前,开水按钮是可用的,结束按钮是不可用的)
$("#start").prop("disabled",false);//"disabled"代表可不可用的属性,系统默认的属性值是不可用;
$("#stop").prop("disabled",true);//false代表可用,true代表不可用
//给开始按钮绑定事件
$("#start").click(function(){
//设置定时器
time=setInterval(function(){
//设置爱按钮的可用性
$("#start").prop("disabled",true);
$("#stop").prop("disabled",false);
//生成随机数
index=Math.floor((Math.random()*10)+1);
//给input框设置value值
$("#name").prop("value",names[index]);
});
});
//给结束按钮设置绑定事件
$("#stop").click(function(){
//清除定时器
clearInterval(time);
//设置按钮状态
$("#start").prop("disabled",false);
$("#stop").prop("disabled",true);
});
});
</script>
<body>
//信息显示框(用于显示中间人名)
<input type="text" id="name" value="张三"
style="width: 250px;height: 50px;border: 2px solid black;text-align: center;
margin-left:450px;margin-top: 100px;background-color: red;color: white; font-size: 26px">
//开始按钮
<input type="button" id="start" value="开始" style="width: 70px;height: 35px; margin-left: 100px" >
//结束按钮
<input type="button" id="stop" value="结束" style="width: 70px;height: 35px;">
</body>
</html>