网页抽奖程序:随机生成有奖数字
该网页代码实现了一个简单的有奖随机数字抽取功能,用户点击按钮后,程序将从1到50的数字中随机抽出10个数字作为奖项号码,并显示在页面上。 在这个网页抽奖系统中,主要涉及以下几个知识点: 1. **JavaScript基础**:整个抽奖功能是通过JavaScript实现的,这包括变量声明、数组操作、循环以及函数定义等基本概念。`var count=50`定义了数字池的总数量,`var original`用来存储原始数字,`var resulte`用于保存抽中的数字。 2. **数组操作**:`for`循环用于填充原始数组`original`,将1到50的整数依次添加。在抽奖过程中,使用`Math.random()`生成一个0到1之间的随机数,乘以数组长度得到一个随机索引`index`,然后用`splice(index, 1)`方法从数组中移除这个索引对应的元素,防止重复抽中。 3. **Math对象的随机数方法**:`Math.floor(Math.random() * original.length)`用于生成一个介于0(包含)和数组长度(不包含)之间的整数,确保每次都能获取到一个有效的数组索引。 4. **字符串操作**:抽中的数字被添加到`resulte`字符串中,使用`,`分隔。最后,使用`substring(0, resulte.length - 2)`去掉最后一个逗号。 5. **DOM操作**:`getElementById("jieguo")`是通过ID获取HTML元素的方法,这里用于获取结果展示的textarea元素,并设置其值为抽中的数字序列。 6. **CSS样式**:HTML中的`<style>`标签定义了页面的样式,如字体、背景图片、元素位置等。`<div onclick="update_number()">`设置了点击事件,当用户点击这个div时会触发`update_number`函数,执行抽奖过程。 7. **事件监听**:在HTML中,`onclick`属性用于指定当元素被点击时执行的JavaScript代码。在这个例子中,它调用了`update_number`函数,实现了点击按钮进行抽奖的功能。 8. **网页布局**:通过CSS的`position`属性实现元素的绝对定位,调整了textarea和点击按钮在页面上的位置,使界面更具交互性。 这个网页抽奖系统是一个基本的示例,实际应用中可能需要考虑更多的细节,比如抽奖的公平性、结果的验证、用户体验优化等。此外,为了增强安全性,防止脚本注入等问题,通常会将JavaScript代码与HTML结构分离,使用外部JS文件进行管理。
</head>
<script type="text/javascript">
function update_number(){
var count=50;
var original=new Array;//原始数组
var resulte='';
//给原始数组original赋值
for (var i=0;i<count;i++){
original[i]=i+1;
}
for (i=0;i<10;i++){
var index=Math.floor(Math.random()*original.length); //随机取一个位置
resulte = resulte+original[index]+" , ";
//document.write(index+" , "); //打印
original.splice(index,1)
}
var select_value=document.getElementById("jieguo");
select_value.value = resulte.substring(0,resulte.length-2);
}
</script>
<style>
body{
font-family:Arial, Helvetica, sans-serif;
}
</style>
<body>
<div style="margin:0 auto;background:url(images/bg.jpg) no-repeat center center; width:900px; height:570px; position:relative;">
<textarea id='jieguo' style="position:absolute;font-size:30px; font-weight:bold;width:558px;height:195px;left:160px;top:170px;vertical-align:middle;text-align:center;"></textarea>
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦