主要知识点涉及if选择结构判断语句、数组的定义、定时器、清除定时器、日期对象的使用。

1.HTML结构

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>随机点名</title>
<style type="text/css">
.box{
width: 200px;
height: 200px;
border: 1px solid red;
}
#uname{
width: 100px;
height: 50px;
background: pink; /* 设置div块 水平居中*/
margin: 0 auto;
margin-top: 30px; text-align: center; /* 设置文本水平居中 */
line-height: 50px; /* 设置文本垂直居中 */
font-weight: bold; /* 字体加粗 */
font-size: 20px; /* 设置字体大小 */
}
button{
display: block; /* 将元素转换成行内块元素 */
margin: 10px auto;
}
</style>
</head>
<body> <div class="box">
<div id="uname">姓名</div>
<button>开始</button>
</div> </body>
</html>

页面如下图所示:

2.js代码

1)在开始按钮和结束按钮之间相互转换

点击  开始  按钮,将按钮中的内容修改为  结束

 <body>
<script type="text/javascript">
// 获取按钮对象
var btn = document.getElementsByTagName("button")[0];
// 给按钮添加单击事件
btn.onclick = function(){
btn.innerHTML="结束"
};
</script>
</body>

点击结束按钮 ,按钮变成开始按钮

切换按钮:判断按钮状态,如果按钮为开始按钮,将按钮变成结束按钮;

如果按钮为结束按钮,将按钮变成开始按钮。

 <body>

 <script type="text/javascript">
// 获取按钮对象
var btn = document.getElementsByTagName("button")[0];
// 给按钮添加单击事件
btn.onclick = function(){
if(btn.innerText=="开始"){
btn.innerHTML="结束"
}else{
btn.innerHTML="开始"
} };
</script>
</body>

定义一个数组用来存储人名,点击开始按钮,随机选择人名;

点击停止按钮,页面不再发生变化。

 <body>

 <div class="box">
<div id="uname">姓名</div>
<button>开始</button>
</div>
<script type="text/javascript">
// 定义数组 存储人名
var arr = ['李白','杜甫','韩愈','柳宗元','欧阳修','苏洵','苏轼','苏辙','王安石','曾巩','陶渊明','辛弃疾','李贺','陆游'];
// 获取id="uname"的元素对象
var Uname = document.getElementById("uname");
var flag = null; // 给定时器添加一个标识符 // 获取按钮对象
var btn = document.getElementsByTagName("button")[0];
// 给按钮添加单击事件
btn.onclick = function(){
if(btn.innerText=="开始"){
btn.innerHTML="结束";
// 添加多次定时器
flag = setInterval(function(){
var num = rand(0,arr.length-1); //随机获取数组的索引
// 通过索引获取人名
var uname = arr[num];
// 将取出来的人名 写入到页面当中
Uname.innerHTML=uname;
},100) }else{
btn.innerHTML="开始";
// 清除多次定时器
clearInterval(flag);
} }; // 封装一个随机函数
function rand(n,m){
return Math.floor(Math.random()*(m-n+1));
}
</script>
</body>

页面最终显示如下图所示:

3.innerText( )和innerHTML( )之间的区别

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Title</title>
</head>
<body> <p>余生<em>山海</em>远阔,愿你随心所向。</p>
<script type="text/javascript">
// 获取元素对象
var cont = document.getElementsByTagName("p")[0];
// 获取元素内容
console.log(cont.innerText);
console.log(cont.innerHTML);
</script>
</body>
</html>

-------------------------------------------------------------------------------------------

innerText、innerHTML 向指定元素添加内容

innerHTML :设置元素内容,包括标签和文本   一般用于修改元素对象,获取文本内容和标签

innerText:设置元素文本,只能设置文本  一般用于获取元素对象,只能获取到文本内容,

javascript随机点名--案例的更多相关文章

  1. javascript随机变色--案例

    1.打开网页,网页效果如图所示 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset=" ...

  2. js - 面向对象 - 小案例:轮播图、随机点名、选项卡、鼠标拖拽

    面向对象 对象 : (黑盒子)不了解内部结构, 知道表面的各种操作. 面向对象 : 不了解原理的情况下 会使用功能 . 面向对象是一种通用思想,并非编程中能用,任何事情都能用. 编程语言的面向对象的特 ...

  3. js随机点名

    定时器案例. <!-- Author: XiaoWen Create a file: 2016-12-08 12:27:32 Last modified: 2016-12-08 12:51:59 ...

  4. js随机点名系统

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 随机点名可视化界面,记录迟到人员,转exe文件

    随机点名可视化界面,记录迟到人员,转exe文件 一.介绍 对于人员采取随机点名 二.代码 import datetime import random from tkinter import * fro ...

  6. 原生JS实现简易随机点名功能

    定时器的工作原理,这里将用引用How JavaScript Timers Work中的例子来解释定时器的工作原理,该图为一个简单版的原理图.· 上图中,左侧数字代表时间,单位毫秒:左侧文字代表某一个操 ...

  7. javascript随机将第一个dom中的图片添加到第二个div中去

    javascript随机将第一个dom中的图片添加到第二个div中去,此代码的是一个简单的例子,将第一个div中的五张图片中,提取随机两张显示到第二个div中. <!DOCTYPE html P ...

  8. 随机总数字里面选取随机数字进行随机排序案例(JAVA实现)

    随机总数字里面选取随机数字进行随机排序案例,案例如下: 代码code: package com.sec; import java.util.Arrays; import java.util.Scann ...

  9. 抖音爆火的随机点名Java实现原理,没有连接数据库

    抖音爆火的随机点名Java实现原理,没有连接数据库 import java.util.Random; public class Array{ public static void main(Strin ...

随机推荐

  1. Net基础篇_学习笔记_第十一天_面向对象(面向过程与面向对象的区别/类的概念)

    1.面向过程-----> 面向对象 面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作. 把大象塞进冰箱里1.打开冰箱门2.把大象塞进去,亲下大象的屁股3.关闭冰箱门 孙全 瘦小 ...

  2. JSP实现系统登录

    计算机通过统一资源定位符实现资源访问,URL:Uriform Resource Locator Tomcat服务器的目录结构 /bin:存放各种平台下用于启动和停止Tomcat的脚本文件 /conf: ...

  3. DOM盒子模型常用属性client,offset和scroll

    JS盒子模型属性 在JS中通过相关的属性可以获取(设置)元素的样式信息,这些属性就是盒子模型属性(基本上都是有关于样式的) 属性 值 client top/left/width/height offs ...

  4. Linux 笔记 - 第二十一章 配置 NFS 服务

    一.前言 NFS(Network File System,网络文件系统),主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS 客户端(一般为应用服务器,例如web)可以通 ...

  5. Docker学习之docker常用命令

    docker ps -a 表示所有容器 docker pull 获取image docker build 创建image docker run 运行container docker images 列出 ...

  6. shiro+spring

    公司自用的管理系统使用了shiro,但是对于这个登录页面跳转.登录的过程逻辑以及登录成功或者失败的跳转页面一直不理解,查看相关文档资料,整理出一些结果并本地调试测试,记录下备以后回顾之用. 对于spr ...

  7. asp.net core + layui.js 搭建仓储系统

    先放几张网站图片: 第一步先从layui 网站https://www.layui.com/doc/ 下载相关文件,复制到项目 wwwroot 目录下: 然后在 _Layout.cshtml 中引用 l ...

  8. Java基本数据类型转换及运算符

    上次我们说到完了Java中的基本数据类型,今天我们来说说Java中的基本数据类型转换和Java中的运算符 基本数据类型转换 java中可以从任意基本数据类型转型到外的基本数据类型 注意:(boolea ...

  9. Redis 集群(三)

    为什么为有集群 在 Redis3 版本之前,每台 Redis 机器需要存储所有 Redis key ,这要求每台 Redis 机器有足够大的内存 而且只能是主节点写,从节点读,对于高并发情况下会有性能 ...

  10. 教你用开源 JS 库快速画出 GitHub 章鱼猫

    本文作者:HelloGitHub-kalifun 在上一篇文章我们介绍了 Zdog 如何使用,接下来这篇文章我将带领各位利用 Zdog 画出一个 GitHub 章鱼猫(和官方的还是有些差别的). Zd ...