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做一个小游戏平台 (一)
Dec 29 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
详解axios在node.js中的post使用
Apr 27 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
JavaScript中AOP的实现与应用
May 06 Javascript
JS数组Object.keys()方法的使用示例
Jun 05 Javascript
Angular封装表单控件及思想总结
Dec 11 Javascript
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
微信小程序分享小程序码的生成(带参数)以及参数的获取
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产生动态的影像图
2006/10/09 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
PHP的引用详解
2015/02/22 PHP
php实现分页显示
2015/11/03 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
Vue.js实现立体计算器
2020/02/22 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
python 合并文件的具体实例
2013/08/08 Python
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
应届生学校辅导员求职信
2013/11/07 职场文书
国际会议邀请函范文
2014/01/16 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
农村党员对照检查材料
2014/09/24 职场文书
教师研修随笔感言
2015/11/18 职场文书