固定名单有动画的随机点名html
时间: 2023-11-06 22:06:56 浏览: 78
以下是一个简单的 HTML 示例,可以实现固定名单随机点名,并且每次点名时会播放动画效果:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>随机点名</title>
<style>
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.box {
display: inline-block;
margin: 10px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
animation: rotate 2s linear infinite;
}
</style>
</head>
<body>
<h1>随机点名</h1>
<p>点击下面的按钮,随机从名单中选择一个人,并播放动画效果。</p>
<div id="nameList">
<div class="box">小明</div>
<div class="box">小红</div>
<div class="box">小刚</div>
<div class="box">小李</div>
<div class="box">小张</div>
</div>
<button onclick="randomSelect()">点名</button>
<script>
function randomSelect() {
var nameList = document.getElementById("nameList").children;
var selected = Math.floor(Math.random() * nameList.length);
for (var i = 0; i < nameList.length; i++) {
if (i == selected) {
nameList[i].classList.add("selected");
} else {
nameList[i].classList.remove("selected");
}
}
}
</script>
</body>
</html>
```
在上述代码中,我们首先定义了一个旋转动画效果,通过 `@keyframes` 和 `animation` 属性来实现。然后,我们定义了一个名为 `box` 的 CSS 类,用于样式化每个名字的盒子。这里我们设置了边框、圆角、内边距和动画效果。
在 HTML 中,我们创建了一个名为 `nameList` 的 `div` 元素,并在其中添加了一些名字盒子。我们还创建了一个按钮,当用户点击该按钮时,会执行名为 `randomSelect()` 的 JavaScript 函数。
`randomSelect()` 函数会先获取名为 `nameList` 的 div 元素的所有子元素,并计算出一个随机数,表示在名字列表中选择哪一个。然后,它会遍历每个名字盒子,并将选中的盒子添加 `selected` 类,从而触发动画效果。其他名字盒子则会移除 `selected` 类,使其回到原始状态。
这是一个简单的示例,可以根据需要进行修改和扩展。
阅读全文