JavaScript实现随机点名程序


Posted in Javascript onMarch 25, 2020

本文实例为大家分享了js实现随机点名程序的具体代码,供大家参考,具体内容如下

效果:

JavaScript实现随机点名程序

录制的gif效果图没那么理想,其实速度是比这个快的

思路:

1.定义一个数组,存放名单
2.启动定时器,设定间隔时间不断调用函数
3.Math.random()获取随机下标,根据下标的随机变换取出数组中对应的元素
4.逻辑代码完成后,通过DOM对象把变化的结果呈现在页面上

JS代码:

<script>
var arr = ["唐僧", "孙悟空", "猪八戒", "沙悟净", "白骨精", "玉皇大帝", "红孩儿", "白骨精", "太上老君"]

var myTimer = null //定时器编号

// 既是启动定时器的函数,也是停止定时器的函数
function goAndStop(){
 // 如果当前没有定时器在执行,则启动,否则,停止定时器;
 if(myTimer == null){
  // 启动定时器,随机下标,取出名字
  myTimer = setInterval(function(){
   // 1、随机下标
   var index = parseInt(Math.random()*arr.length)

   // 2、根据下标取出学生的姓名,显示在页面上
   document.getElementById("stuName").innerHTML = arr[index]

  },10);

  //启动定时器的同时,改变按钮状态,为下次单击做准备
  document.getElementById("btn").value = "停 止"
 }else{
  // 当前若有有定时器在执行,则停止定时器, 恢复初始状态
  window.clearInterval(myTimer)
  myTimer = null
  document.getElementById("btn").value = "开 始"
 }
}
</script>

HTML + CSS + JS 源码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style>
 #box{
  width:200px;
  height: 300px;
  margin: 100px auto;
 }

 #stuName{
  width: 100%;
  height: 80px;
  border: 2px solid gray;
  line-height: 80px;
  text-align: center;
  font-size: 30px;
  color:orange;
  font-weight: bold;
 }

 input{
  margin-top:30px;
  width: 100%;
  height: 50px;
  font-size: 20px;
  font-weight: bold;
 }

 </style>
</head>
<body>
 <div id="box">
  <div id="stuName">
   随机名单
  </div>
  <input id="btn" type="button" value="开 始" onclick="goAndStop()">
 </div>
</body>
</html>
<script>
var arr = ["唐僧", "孙悟空", "猪八戒", "沙悟净", "白骨精", "玉皇大帝", "红孩儿", "白骨精", "太上老君"]

var myTimer = null 
function goAndStop(){
 if(myTimer == null){
  myTimer = setInterval(function(){
   var index = parseInt(Math.random()*arr.length)

   document.getElementById("stuName").innerHTML = arr[index]

  },10);
  document.getElementById("btn").value = "停 止"
 }else{
  window.clearInterval(myTimer)
  myTimer = null
  document.getElementById("btn").value = "开 始"
 }
}
</script>

这是我的一些思路,分享给大家!

如果你有更好的方法,欢迎下方留言相互交流!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js获取url参数代码实例分享(JS操作URL)
Dec 13 Javascript
动态的创建一个元素createElement及删除一个元素
Jan 24 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
Jun 20 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
Dec 08 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
JS实现简易换图时钟功能分析
Jan 04 Javascript
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
原生js实现each方法实例代码详解
May 27 Javascript
js事件机制----捕获与冒泡机制实例分析
May 22 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
Jan 29 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 #Javascript
JS实现网页时钟特效
Mar 25 #Javascript
js实现小时钟效果
Mar 25 #Javascript
vue页面更新patch的实现示例
Mar 25 #Javascript
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 #Javascript
微信小程序点击item使之滚动到屏幕中间位置
Mar 25 #Javascript
微信小程序scroll-view点击项自动居中效果的实现
Mar 25 #Javascript
You might like
SSI指令
2006/11/25 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
Javascript Math对象
2009/08/13 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
python 生成器协程运算实例
2017/09/04 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
python二维图制作的实例代码
2020/12/03 Python
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
汽车维修专业个人求职信范文
2014/01/01 职场文书
学习十八大报告感言
2014/02/04 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
《法国号》教学反思
2016/02/22 职场文书