前端三件套 | 综合练习:模拟抽奖活动,实现一个简单的随机抽取并显示三名获胜者

随机运行结果如下:


参考代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {margin: 0 auto;width: 840px;height: 615px;background: url(./pic_jiangzhuang.png) no-repeat center / cover;padding: 100px 250px;block-size: border-box;/* 设置为怪异盒:设定的宽高是整个盒子的大小 内边距这些会压缩内容大小 *//* 使得里面的内容显示在背景图中央 */display: flex;/* 使用flex布局 */flex-wrap: wrap;justify-content: center;/* 水平居中 */align-items: center;/* 垂直居中 */box-sizing: border-box;/* 确保宽度和高度包括内边距和边框  */position: relative;/* 父相子绝 实现内容定位放置 */}.box b {display: inline-block;position: absolute;top: 10rem;left: 19rem;}.box h1 {position: absolute;top: 16rem;}.box h3 {position: absolute;top: 20rem;}.box h5 {position: absolute;top: 23rem;}</style>
</head><body><div class="box"><b>305最佳美女决赛 让我们拭目以待</b><h1>第一名:<span class="one">???</span></h1><h3>第二名:<span class="two">???</span></h3><h5>第三名:<span class="three">???</span></h5></div><script>// 1.声明数组 用于后续随机抽取 名字下标对应 0 1 2const personArr = ['ZM', 'WZY', 'LMF']// 2.先抽一等奖 抽完一个删一个 避免重复// 2.1得到随机数 random是一个得到的随机数组下标const random1 = Math.floor(Math.random() * personArr.length)// 2.2 获取one元素const one = document.querySelector('.one')// 2.3 修改这个元素的值 personArr[random]为数组里的某个属性one.innerHTML = personArr[random1]// 2.4 抽出一个 删一个 避免重复personArr.splice(random1, 1)// 数组的删除// 3.抽二等奖// 3.1得到随机数 random1是一个得到的随机数组下标const random2 = Math.floor(Math.random() * personArr.length)// 3.2 获取two元素const two = document.querySelector('.two')// 3.3 修改这个元素的值 personArr[random]为数组里的某个属性two.innerHTML = personArr[random2]// 3.4 抽出一个 删一个 避免重复personArr.splice(random2, 1)// 数组的删除// 4.抽三等奖// 4.1得到随机数 random1是一个得到的随机数组下标const random3 = Math.floor(Math.random() * personArr.length)// 4.2 获取three元素const three = document.querySelector('.three')// 4.3 修改这个元素的值 personArr[random]为数组里的某个属性three.innerHTML = personArr[random3]// 4.4 抽出一个 删一个 避免重复personArr.splice(random3, 1)// 数组的删除</script>
</body></html>

考察知识点如下:

HTML标签和元素:

1.使用<div>、<b>、<h1>、<h3>、<h5>等HTML标签来构建页面结构。

CSS样式:

1.background属性用于设置背景图片。

2.display: flex;用于创建弹性布局容器。

3.justify-content和align-items用于水平和垂直居中容器内的元素。

4.position: absolute;用于绝对定位元素。

5.box-sizing: border-box;确保元素的宽度和高度包括内边距和边框。

JavaScript基础:

1.Math.random()用于生成随机数。

2.Math.floor()用于向下取整。

3.querySelector()用于选择页面上的元素。

4.innerHTML用于获取或设置元素的HTML内容。

5.splice()用于从数组中删除元素。

DOM操作:

1.通过JavaScript来修改HTML元素的内容。

理解这段代码的关键在于理解以下几个方面:

❤:personArr数组存储了所有可能的获奖者姓名。初始化时,这个数组包含三个名字。

❤:Math.random()生成一个0到1之间的随机小数,Math.floor()将这个小数向下取整为整数

❤:personArr.length将这个整数乘以数组长度,得到一个0到数组长度减1之间的随机整数。

❤:document.querySelector()方法用于选择具有指定选择器的第一个元素。在这里,它分别用于选择.one、.two和.three类的span元素。

❤:personArr.splice(index, count)方法用于从数组中删除指定索引处的count个元素,并返回被删除的元素数组。这样可以确保每个获奖者只被选中一次,并且在被选中后从候选名单中移除。

❤:最后,更新span元素的innerHTML属性,将其设置为对应的获奖者姓名,从而在网页上显示最终结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙-自定义组件-语法

目录 语法组成 在学习自定义组件前&#xff0c;先看一下ArkTS的组成 装饰器 用于装饰类、结构、方法以及变量&#xff0c;并赋予其特殊的含义。如上述示例中Entry、Component和State都是装饰器 Entry 表示该自定义组件为入口组件 Component 表示自定义组件 State 表示组…

python基础——字符串的常见操作方法【下标索引,index,count,len,replace,split,strip】

&#x1f4dd;前言&#xff1a; 字符串是一种有序的&#xff0c;允许重复字符串存在的&#xff0c;不可修改的序列 这篇文章主要总结一下python中有关字符串的部分相关知识&#xff0c;以及字符串的常见操作方法&#xff1a; 1&#xff0c;和其他序列极其类似的操作方法 2&…

2024/03/18(网络编程·day4)

一、思维导图 二、广播 广播发送端 #include<myhead.h> int main(int argc, const char *argv[]) {//1、创建套接字int sfd socket(AF_INET,SOCK_DGRAM,0);if(sfd -1){perror("socket error");return -1;}//2、设置允许广播int broadcast 1;if(setsockopt…

嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)

一、实验目的 掌握GPIO模拟SPI总线的使用&#xff0c;了解AD5724的芯片特性和使用&#xff0c;并实现基于AD5724输出电压值。 二、实验原理 StarterWare StarterWare是一个免费的软件开发包&#xff0c;它包含了示例应用程序。StarterWare提供了一套完整的GPIO寄存器配置接…

在吗?腾讯云服务器2024降价了61元一年,要么?

腾讯云服务器多少钱一年&#xff1f;61元一年起。2024年最新腾讯云服务器优惠价格表&#xff0c;腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

QT C++ QButtonGroup应用

//QT 中&#xff0c;按钮数量比较少&#xff0c;可以分别用各按钮的信号和槽处理。 //当按钮数量较多时&#xff0c;用QButtonGroup可以实现共用一个槽函数&#xff0c;批量处理&#xff0c;减少垃圾代码&#xff0c; //减少出错。 //开发平台&#xff1a;win10QT6.2.4 MSVC…

IDEA调试入门指南

IDEA调试前准备 一、准备调试环境 在开始调试之前&#xff0c;确保你的IDEA已经正确安装并配置好。打开你的项目&#xff0c;确保所有的依赖都已正确加载&#xff0c;并且项目能够正常编译和运行。 二、设置断点 断点是调试过程中非常关键的一部分&#xff0c;它允许你在代…

O2OA红头文件流转与O2OA版式公文编辑器基本使用

O2OA开发平台在流程管理中&#xff0c;提供了符合国家党政机关公文格式标准&#xff08;GB/T 9704—2012&#xff09;的公文编辑组件&#xff0c;可以让用户在包含公文管理的项目实施过程中&#xff0c;轻松地实现标准化公文格式的在线编辑、痕迹保留、手写签批等功能。并且可以…

使用PySpider进行IP代理爬虫的技巧与实践

目录 前言 一、安装与配置PySpider 二、使用IP代理 三、IP代理池的使用 四、处理代理IP的异常 五、总结 前言 IP代理爬虫是一种常见的网络爬虫技术&#xff0c;可以通过使用代理IP来隐藏自己的真实IP地址&#xff0c;防止被目标网站封禁或限制访问。PySpider是一个基于P…

15届蓝桥杯备赛(2)

文章目录 刷题笔记(2)二分查找在排序数组中查找元素的第一个和最后一个位置寻找旋转排序数组中的最小值搜索旋转排序数组 链表反转链表反转链表II 二叉树相同的树对称二叉树平衡二叉树二叉树的右视图验证二叉搜索树二叉树的最近公共祖先二叉搜索树的最近公共祖先二叉树层序遍历…

为 java 开发者设计的性能测试框架,用于压测+测试报告生成

拓展阅读 junit5 系列教程 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) Junit performance rely on junit5 and jdk8.(java 性能测试框架。压测测试报告生成。) junitperf junitperf 是一款为 java 开…

回归预测 | Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现SO-BP蛇算法优化BP神经网络多变量回归预测&#xff08;完整源码和数据) …

婚恋相亲红娘牵线系统功能介绍

婚恋相亲红娘牵线系统是一个综合性的婚恋交友平台&#xff0c;它集成了多种功能以帮助用户找到心仪的伴侣。以下是其主要功能的详细介绍&#xff1a; 用户信息深度分析和匹配&#xff1a;该系统利用大数据和人工智能技术&#xff0c;对用户的基本信息&#xff08;如年龄、身高…

基于HSV色度空间的图像深度信息提取算法FPGA实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 ​编辑2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将FPGA结果导入到matlab显示结果如下&#xff1a; matlab的对比测试结果如下&#xff1a; 2.算法运行软件版本 vivado2019.2 matlab2022a…

Pytest 教程:从 0 到 1 搭建 Pytest 接口自动化测试项目

从 0 到 1 搭建 Pytest 接口自动化测试项目 1.创建项目目录 mkdir Pytest-API-Testing-Demo 2.项目初始化 // 进入项目文件夹下cd Pytest-API-Testing-Demo// 创建项目 python 项目虚拟环境python -m venv .env// 启用项目 python 项目虚拟环境source .env/bin/activate 3…

ubuntu下docker安装

目录 官网链接 安装步骤 docker使用方法 拉取镜像 创建镜像 运行镜像 查看运行结果 保存镜像文件 传输到windows下 官网链接 Install Docker Engine on Ubuntu | Docker Docs 安装步骤 1.运行以下命令卸载所有冲突的包&#xff1a; for pkg in docker.io docker-d…

基于Spring Boot的社区便民服务管理系统的设计与实现

摘 要 二十一世纪我们的社会进入了信息时代&#xff0c;信息管理系统的建立&#xff0c;大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多&#xff0c;而在线管理系统刚好能满足这些需求&#xff0c;在线管理系统突破了传统管理方式的局限性。于是本文针对这一…

【海贼王的数据航海】排序——冒泡|快速|归并排序|总结

目录 1 -> 交换排序 1.1 -> 冒泡排序 1.1.1 -> 代码实现 1.2 -> 快速排序 1.2.1 -> hoare版本 1.2.2 -> 挖坑法 1.2.3 -> 前后指针法 1.2.4 -> 快速排序(递归版) 1.2.5 -> 快速排序(非递归版) 2 -> 归并排序 2.1 -> 归并排序 2.…

js逆向-某东cfe滑块逆向分析

声明 本文仅供学习参考&#xff0c;如有侵权可私信本人删除&#xff0c;请勿用于其他途径&#xff0c;违者后果自负&#xff01; 如果觉得文章对你有所帮助&#xff0c;可以给博主点击关注和收藏哦&#xff01; 分析 网址&#xff1a; aHR0cHM6Ly9jZmUubS5qZC5jb20vcHJpdmF…

CTF题型 SSTI(2) Flask-SSTI典型题巩固

CTF题型 SSTI(2) Flask-SSTI典型题巩固 文章目录 CTF题型 SSTI(2) Flask-SSTI典型题巩固前记1.klf__sstiSSTI_Fuzz字典&#xff08;网上收集自己补充&#xff09; 2.klf_2数字问题如何解决了&#xff1f;|count |length都被禁&#xff1f; 3.klf_3 前记 从基础到自己构造paylo…