需求描述: 公司经常会要求IT部门做一个随机抽取员工页面,今天我们通过HTML和JavaScript来实现

HTML 结构

首先,我们需要编写 HTML 代码来定义页面结构和元素。下面是 HTML 代码的结构:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>员工分享工作感悟</title>
<style>
/* CSS 样式,用于页面布局和样式 */
/* ... */
</style>
</head>
<body>
<div class="container">
<!-- 页面内容部分 -->
<h1>2023年度公司幸运员工</h1>
<p>今天的幸运员工是:</p>
<div id="selectedEmployees" class="highlighted"></div>
<button onclick="startRandomSelection()">开始随机选择</button>
<button onclick="stopRandomSelection()">停止选择</button>
</div> <script>
// JavaScript 代码部分
/* ... */
</script>
</body>
</html>

这里我们使用了 <div> 元素作为容器,然后在其中放置了标题、段落、被选中的员工名单和两个按钮元素。需要注意的是,我们在 <div> 元素中使用了 class 属性来定义样式,而在被选中的员工名单 <div> 元素中使用了 id 属性,在 JavaScript 代码中通过该 ID 来修改其内容。

CSS 样式

接下来,我们需要编写 CSS 样式代码,用于页面布局和样式设置。这里我们采用了一些简单的样式,如颜色渐变背景、字体和按钮样式等。下面是 CSS 样式代码的结构:

body {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(to right, #f06, #9f6);
font-family: Arial, sans-serif;
}
.container {
text-align: center;
color: #fff;
}
h1 {
font-size: 100px;
margin-bottom: 100px;
}
p {
font-size: 40px;
margin-bottom: 0px;
line-height: 3;
}
.highlighted {
font-size: 45px;
font-weight: bold;
margin-bottom: 80px;
color: #FFD700;
}
button {
background-color: #007BFF;
color: #fff;
border: none;
padding: 10px 20px;
font-size: 50px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #0056b3;
}

在这里,我们定义了 body 的样式,使其占据整个屏幕,并使用背景渐变色。然后,我们定义了容器、标题、段落、被选中的员工名单、按钮等元素的样式,并设置了一些基本的布局和样式属性,如字体、颜色、间距、边框和圆角等。

JavaScript 代码

最后,我们需要编写 JavaScript 代码,用于实现随机选择员工的功能。下面是 JavaScript 代码的结构:

var employee_list = [
"员工1", "员工2", "员工3", "员工4", "员工5",
// ...
"员工96", "员工97", "员工98", "员工99", "员工100"
]; var selectedEmployees = []; // 用于存储随机选择的员工
var intervalId; // 用于存储 setInterval 的 ID
var isRandomSelecting = false; // 标志是否正在随机选择 // 随机选择员工的函数
function selectEmployeesRandomly() {
selectedEmployees = [];
while (selectedEmployees.length < 5) {
var randomIndex = Math.floor(Math.random() * employee_list.length);
var selectedEmployee = employee_list[randomIndex];
if (!selectedEmployees.includes(selectedEmployee)) {
selectedEmployees.push(selectedEmployee);
}
}
document.getElementById("selectedEmployees").textContent = selectedEmployees.join(", ");
} // 开始随机选择员工
function startRandomSelection() {
if (!isRandomSelecting) {
intervalId = setInterval(selectEmployeesRandomly, 100);
isRandomSelecting = true;
}
} // 停止随机选择员工
function stopRandomSelection() {
clearInterval(intervalId);
isRandomSelecting = false;
} // 页面加载时自动开始随机选择员工
window.onload = function() {
startRandomSelection();
}

在这里,我们首先定义了一个员工列表 employee_list,其中包含所有可选的员工名单。然后,我们定义了三个变量:selectedEmployees 用于存储随机选择的员工名单,intervalId 用于存储 setInterval 函数的 ID,isRandomSelecting 用于标志是否正在随机选择中。

接下来,我们定义了一个 selectEmployeesRandomly 函数,用于随机选择员工。该函数会首先清空已选中员工名单,并进行循环,每次从所有员工名单中随机选择一个员工,并判断该员工是否已被选中。如果未被选中,则将其添加到已选中员工名单中,直至已选中员工数达到 5 人。最后,我们通过 document.getElementById("selectedEmployees").textContent 来修改 HTML 中被选中员工名单的内容。

然后,我们定义了两个函数 startRandomSelectionstopRandomSelection,用于实现开始和停止随机选择的功能。这里我们使用了 setInterval 函数来实现每隔 100 毫秒执行一次 selectEmployeesRandomly 函数,从而实现随机选择的效果。

最后,我们在页面加载完成时自动调用 startRandomSelection 函数,开始随机选择员工。

总结

通过上述 HTML、CSS 和 JavaScript 代码的编写,我们实现了一个简单的随机选择员工程序。这个程序可以用于例如公司年会等场合,让大家感到更有趣,更具互动性。当然,如果需要更精细的程序,还需要进一步的优化和改进。

完整代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>员工分享工作感悟</title>
<style>
/* CSS 样式,用于页面布局和样式 */
body {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(to right, #f06, #9f6);
font-family: Arial, sans-serif;
}
.container {
text-align: center;
color: #fff;
}
h1 {
font-size: 100px; /* 标题字体大小 */
margin-bottom: 100px; /* 标题底部间距 */
}
p {
font-size: 40px; /* 段落字体大小 */
margin-bottom: 0px; /* 段落底部间距 */
line-height: 3; /* 行间距 */
}
.highlighted {
font-size: 45px; /* 突出文字字体大小 */
font-weight: bold;
margin-bottom: 80px;
color: #FFD700; /* 黄色 */
}
button {
background-color: #007BFF;
color: #fff;
border: none;
padding: 10px 20px;
font-size: 50px; /* 按钮字体大小 */
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #0056b3;
}
</style>
</head>
<body>
<div class="container">
<!-- 页面内容部分 -->
<h1>2023年度公司幸运员工</h1>
<p>今天的幸运员工是:</p>
<div id="selectedEmployees" class="highlighted"></div>
<button onclick="startRandomSelection()">开始随机选择</button>
<button onclick="stopRandomSelection()">停止选择</button>
</div> <script>
// JavaScript 代码部分
var employee_list = [
"员工1", "员工2", "员工3", "员工4", "员工5",
// ...
"员工96", "员工97", "员工98", "员工99", "员工100"
]; var selectedEmployees = []; // 用于存储随机选择的员工
var intervalId; // 用于存储 setInterval 的 ID
var isRandomSelecting = false; // 标志是否正在随机选择 // 随机选择员工的函数
function selectEmployeesRandomly() {
selectedEmployees = [];
while (selectedEmployees.length < 5) {
var randomIndex = Math.floor(Math.random() * employee_list.length);
var selectedEmployee = employee_list[randomIndex];
if (!selectedEmployees.includes(selectedEmployee)) {
selectedEmployees.push(selectedEmployee);
}
}
document.getElementById("selectedEmployees").textContent = selectedEmployees.join(", ");
} // 开始随机选择员工
function startRandomSelection() {
if (!isRandomSelecting) {
intervalId = setInterval(selectEmployeesRandomly, 100); // 每 100 毫秒选择一次
isRandomSelecting = true;
}
} // 停止随机选择员工
function stopRandomSelection() {
clearInterval(intervalId); // 清除 setInterval
isRandomSelecting = false;
} // 页面加载时自动开始随机选择员工
window.onload = function() {
startRandomSelection();
}
</script>
</body>
</html>

效果图展示:

通过HTML和JavaScript实现随机抽取幸运员工的更多相关文章

  1. Java利用数组随机抽取幸运观众

    编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得幸运观众的姓名. 思路如下: 定义输入框的按键事件,使用KeyEvent类的get ...

  2. JavaScript 编写随机四位数验证码(大小写字母和数字)

    1.JavaScript编写随机四位数验证码,用到的知识点为: a.Math对象的随机数:Math.random() b.Math对象的取整    :Math.floor() c.处理所需要的下标个数 ...

  3. TODO:从数据库中随机抽取一条记录

    TODO:从数据库中随机抽取一条记录 1.最直接,最粗暴的方法先计算记录的总数,然后选择一个从0到记录总数之间的随机数n,利用skip跳过n条记录,这是效率低下的的方法,首先的记录总数,在用skip会 ...

  4. SQL Server 随机数,随机区间,随机抽取数据rand(),floor(),ceiling(),round(),newid()函数等

    在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数.那就看下面 ...

  5. PHP中如何在数组中随机抽取n个数据的值 - array_rand()?

    PHP中如何在数组中随机抽取n个数据的值? 最佳答案 array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明 ...

  6. 一个面试题的解答-----从500(Id不连续)道试题库里随机抽取20道题!

    做一个考试系统的项目,现在从试题库里面随机抽取20道题 比如我题库有500道题(ID不连续).题目出现了,如何解决呢,随机抽取! 1,我们先把500道题的id存进一个长度为500的数组. 2,实现代码 ...

  7. PHP之:随机抽取一个数&&随机函数

    撰写日期:2016-7-20 16:00:24 有5个数:1 4 7 9 6 用PHP实现随机抽取5个数中的其中一个 方法一: <?php $test = array(1,4,7,9,6);// ...

  8. Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现

    Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssq ...

  9. sql 随机抽取几条数据的方法 推荐

    传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序 ...

  10. MYSQL随机抽取查询 MySQL Order By Rand()效率问题

    MYSQL随机抽取查询:MySQL Order By Rand()效率问题一直是开发人员的常见问题,俺们不是DBA,没有那么牛B,所只能慢慢研究咯,最近由于项目问题,需要大概研究了一下MYSQL的随机 ...

随机推荐

  1. PNG结构

    参考此博客 PNG的文件头总是固定的八个字节 89 50 4E 47 0D 0A 1A 0A 数据块长度13 00 00 00 0D 文件头数据块标识IDCH 49 48 44 52 13位数据块(I ...

  2. Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics

    在Delta Lake官网上提到的一篇新一代湖仓架构的论文. 这篇论文由Databricks团队2021年发表于CIDR会议. 这个会议是对sigmod和vldb会议的补充. 可以看到这篇论文和前一篇 ...

  3. Java中的线程池使用及原理

    开篇-为什么要使用线程池? ​ Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池.在开发过程中,合理地使用线程池能够带来 3 个好处. ​ 第一:降低 ...

  4. MQ消息队列篇:三大MQ产品的必备面试种子题

    MQ有什么用? MQ(消息队列)是一种FIFO(先进先出)的数据结构,主要用于实现异步通信.削峰平谷和解耦等功能.它通过将生产者生成的消息发送到队列中,然后由消费者进行消费.这样,生产者和消费者之间就 ...

  5. CVE-2023-2825-GitLab目录穿越poc

    Gitlab CVE-2023-2825 目录穿越漏洞 前言 昨天 GitLab 出了一个版本目录穿越漏洞(CVE-2023-2825),可以任意读取文件.当时我进行了黑盒测试并复现了该漏洞. &qu ...

  6. Android13深入了解 Android 小窗口模式和窗口类型

    Android13深入了解 Android 小窗口模式和窗口类型 小窗模式,作为一种在移动设备上的多任务处理方式,为用户带来了便捷和高效的体验,尤其在一些特定场景下,其价值愈发凸显.以下是为什么需要小 ...

  7. 按关键字API接口搜索天眼查企业数据

    一.如果你想要查找某一个企业的基本信息或是对行业中的企业进行筛选,那么使用API接口搜索天眼查企业数据会非常方便. 首先,你需要获取天眼查API的access_token,这可以通过注册账号获取.一旦 ...

  8. 4.3 IAT Hook 挂钩技术

    IAT(Import Address Table)Hook是一种针对Windows操作系统的API Hooking 技术,用于修改应用程序对动态链接库(DLL)中导入函数的调用.IAT是一个数据结构, ...

  9. Vue Vuex状态管理

    1.1 理解 Vuex 1.1.1 Vuex 是什么 概念:专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 Vue 应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组 ...

  10. 2023版:深度比较几种.NET Excel导出库的性能差异

    引言 背景和目的 本文介绍了几个常用的电子表格处理库,包括EPPlus.NPOI.Aspose.Cells和DocumentFormat.OpenXml,我们将对这些库进行性能测评,以便为开发人员提供 ...