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 相关文章推荐
Javascript学习笔记5 类和对象
Jan 11 Javascript
EXT窗口Window及对话框MessageBox
Jan 27 Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 Javascript
Javascript技术栈中的四种依赖注入小结
Feb 27 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
May 05 Javascript
JS实现的简单图片切换功能示例【测试可用】
Feb 14 Javascript
限时抢购-倒计时的完整实例(分享)
Sep 17 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
微信小程序页面间跳转传参方式总结
Jun 13 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
vue中控制mock在开发环境使用,在生产环境禁用方式
Apr 06 Vue.js
微信小程序分享小程序码的生成(带参数)以及参数的获取
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
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
python生成word合同的实例方法
2021/01/12 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
面试后感谢信
2014/02/01 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
催款通知书范文
2015/04/17 职场文书
教师节简报
2015/07/20 职场文书
公司费用报销管理制度
2015/08/04 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
修改并编译golang源码的操作步骤
2021/07/25 Golang
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python