html初步——点名系统(附源码)
写在前面:
本篇文章为进阶篇
一、源代码
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>随机点名生成</title><style>/* 页面css样式 */.wrapper {width: 800px;margin: 100px auto;border: 1px solid #ddd;text-align: center;}.box li {vertical-align: top;display: inline-block;width: 100px;height: 50px;border: 2px solid #ddd;border-radius: 15px;text-align: center;line-height: 50px;margin: 5px;}.wrapper button {border: none;width: 100px;height: 50px;border-radius: 10px;cursor: pointer;outline: none;margin-top: 20px;font-weight: bolder;color: #333;background-color: rgb(14, 146, 43);}.wrapper button {display: inline-block;}body {background-color: #eee;}</style></head><body><div class="wrapper"><h1 align="center">随机点名系统</h2>//实时显示系统时间标签<h6 id="data" align="right"></h6><ul class="box"></ul><button class="start">开始</button><button class="stop">停止</button></div></body><script>//定义全局变量方便引用var boxUl = document.getElementsByClassName('box')[0];var start = document.getElementsByClassName('start')[0];var stop = document.getElementsByClassName('stop')[0]var oLi = document.getElementsByTagName('li');//数据准备var nameString = new String("张三,李四,王五,赵六,周七,田八,国九,归零,张3,李4,王5,赵6,周7,田8,国9,归0");var nameArr = nameString.split(",");//获取每个学生姓名添加到标签中,自动解析html标签var str = "";for (let i = 0; i < nameArr.length; i++) {str += "<li >" + nameArr[i] + "</li>"}boxUl.innerHTML = str;//添加开始按钮的点击事件var timer = null;start.onclick = function () {// 设置定时器timer = setInterval(function () {// 根据数组长度范围生成随机数var i = Math.floor(Math.random() * nameArr.length);// 先通过for循环清空所有style属性for (var j = 0; j < oLi.length; j++) {oLi[j].removeAttribute("style");}// 为随机选择的li颜色属性oLi[i].style.background = "red";}, 150);};// 点击停止stop.onclick = function () {// 清空定时器停止点名clearInterval(timer);}//页面初始化时间设置window.onload = function () {datatime();}//页面时间动态刷新setInterval(datatime, 1000);function datatime() {let data = new Date();let dataString ="现在是北京时间:" + data.toLocaleString();document.getElementById("data").innerHTML = dataString;}</script>
二、讲解
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>随机点名生成</title><style>/* 页面css样式 */.wrapper {width: 800px;margin: 100px auto;border: 1px solid #ddd;text-align: center;}.box li {vertical-align: top;display: inline-block;width: 100px;height: 50px;border: 2px solid #ddd;border-radius: 15px;text-align: center;line-height: 50px;margin: 5px;}.wrapper button {border: none;width: 100px;height: 50px;border-radius: 10px;cursor: pointer;outline: none;margin-top: 20px;font-weight: bolder;color: #333;background-color: rgb(14, 146, 43);}.wrapper button {display: inline-block;}body {background-color: #eee;}</style></head>
<head>为开头即“属性”
<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。标签的属性定义了与文档相关联的名称/值对,标签位于文档的头部,不包含任何内容。
<title> 元素可定义文档的标题
<body>是此代码主体
<div> 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。
<h1> - <h6> 标签可定义标题。<h1> 定义最大的标题。<h6> 定义最小的标题。
<script>//定义全局变量方便引用var boxUl = document.getElementsByClassName('box')[0];var start = document.getElementsByClassName('start')[0];var stop = document.getElementsByClassName('stop')[0]var oLi = document.getElementsByTagName('li');//数据准备var nameString = new String("张三,李四,王五,赵六,周七,田八,国九,归零,张3,李4,王5,赵6,周7,田8,国9,归0");var nameArr = nameString.split(",");//获取每个学生姓名添加到标签中,自动解析html标签var str = "";for (let i = 0; i < nameArr.length; i++) {str += "<li >" + nameArr[i] + "</li>"}boxUl.innerHTML = str;//添加开始按钮的点击事件var timer = null;start.onclick = function () {// 设置定时器timer = setInterval(function () {// 根据数组长度范围生成随机数var i = Math.floor(Math.random() * nameArr.length);// 先通过for循环清空所有style属性for (var j = 0; j < oLi.length; j++) {oLi[j].removeAttribute("style");}// 为随机选择的li颜色属性oLi[i].style.background = "red";}, 150);};// 点击停止stop.onclick = function () {// 清空定时器停止点名clearInterval(timer);}//页面初始化时间设置window.onload = function () {datatime();}//页面时间动态刷新setInterval(datatime, 1000);function datatime() {let data = new Date();let dataString ="现在是北京时间:" + data.toLocaleString();document.getElementById("data").innerHTML = dataString;}</script>
<var>定义变量。您可以将此标签与 <pre> 及 <code> 标签配合使用。
<script> 标签用于定义客户端脚本,比如 JavaScript。
