展示所有名字,并随机抽取一个名字的html
时间: 2024-09-18 17:06:33 浏览: 68
JS按名字随机抽奖代码
你可以创建一个简单的HTML页面来展示一组名字,并通过JavaScript实现随机选择一个名字的功能。下面是一个基本的例子:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>随机抽取姓名</title>
<style>
.name-list {
display: flex;
justify-content: space-around;
}
.name-item {
padding: 10px;
}
</style>
</head>
<body>
<h2>姓名列表</h2>
<div class="name-list" id="nameListContainer">
<!-- 使用JavaScript动态添加名字 -->
<div class="name-item" onclick="selectRandomName(this)"></div>
<!-- ...重复添加更多名字 ... -->
</div>
<script>
// 假设这里有一组名字
const names = ['张三', '李四', '王五', '赵六', '孙七'];
function addNamesToContainer() {
names.forEach((name, index) => {
const nameDiv = document.createElement('div');
nameDiv.textContent = name;
nameDiv.classList.add('name-item');
nameDiv.index = index; // 用于获取随机选择的索引
document.getElementById('nameListContainer').appendChild(nameDiv);
});
}
// 随机选择并高亮显示名字
function selectRandomName(nameElement) {
const randomIndex = Math.floor(Math.random() * names.length);
const selectedName = names[randomIndex];
names.splice(randomIndex, 1); // 移除已选名字
nameElement.textContent = selectedName; // 更改当前元素文本
// 可选:给其他未选名字加样式区分,如添加一个新class
Array.from(document.querySelectorAll('.name-item')).forEach((ele) => {
if (ele !== nameElement) ele.classList.remove('selected');
});
nameElement.classList.add('selected'); // 高亮当前选中的名字
}
// 初始化加载所有名字
addNamesToContainer();
</script>
</body>
</html>
```
在这个例子中,用户可以点击任一名字来随机选择,每次点击都会从列表中移除已选名字并高亮新的名字。
阅读全文