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 相关文章推荐
DWZ table的原生分页浅谈
Mar 01 Javascript
JavaScript实现查找字符串中第一个不重复的字符
Dec 29 Javascript
javascript动态创建链接的方法
May 13 Javascript
Bootstrap每天必学之面板
Nov 30 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
Jan 04 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
详解webpack与SPA实践之开发环境搭建
Dec 18 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
Mar 12 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
Oct 25 Javascript
JS运算符简单用法示例
Jan 19 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
php之readdir函数用法实例
2014/11/13 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
Angular5集成eventbus的示例代码
2018/07/19 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
对python程序内存泄漏调试的记录
2018/06/11 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
python re模块常见用法例举
2021/03/01 Python
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
亚马逊印度站:Amazon.in
2017/10/15 全球购物
董事长秘书职责
2014/01/31 职场文书
微笑服务演讲稿
2014/05/13 职场文书
2015公司年度工作总结
2015/05/14 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书