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 相关文章推荐
基于jquery的15款幻灯片插件
Apr 10 Javascript
javascript学习笔记(五) Array 数组类型介绍
Jun 19 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
Mar 13 Javascript
JS+CSS实现的拖动分页效果实例
May 11 Javascript
分享经典的JavaScript开发技巧
Nov 21 Javascript
最全的Javascript编码规范(推荐)
Jun 22 Javascript
jQuery中的select操作详解
Nov 29 Javascript
jQuery Masonry瀑布流插件使用方法详解
Jan 18 Javascript
Vue表单类的父子组件数据传递示例
May 03 Javascript
JavaScript门道之标准库
May 26 Javascript
js实现的在本地预览图片功能示例
Nov 09 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
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
python实现校园网自动登录的示例讲解
2018/04/22 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
Python try except finally资源回收的实现
2021/01/25 Python
python中xlrd模块的使用详解
2021/02/01 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
个人找工作的自我评价
2013/10/17 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
开展警示教育活动总结
2015/05/09 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书