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 相关文章推荐
解决FireFox下[使用event很麻烦]的问题
Nov 26 Javascript
控制打印时页眉角的代码
Feb 08 Javascript
js用闭包遍历树状数组的方法
Mar 19 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
JsRender for object语法简介
Oct 31 Javascript
JS访问SWF的函数用法实例
Jul 01 Javascript
微信小程序 radio单选框组件详解及实例代码
Jan 10 Javascript
js实现HTML中Select二级联动的实例
Jan 05 Javascript
js事件触发操作实例分析
Jun 21 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
Dec 15 Javascript
js实现简单贪吃蛇游戏
May 15 Javascript
Vue项目打包编译优化方案
Sep 16 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
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
如何使用angularJs
2017/05/08 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
python模拟Django框架实例
2016/05/17 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
Python进阶篇之字典操作总结
2016/11/16 Python
python的exec、eval使用分析
2017/12/11 Python
Python实现的购物车功能示例
2018/02/11 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
空中乘务员岗位职责
2014/03/08 职场文书
质量管理标语
2014/06/12 职场文书
交通工程专业推荐信
2014/09/06 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
护士辞职信怎么写
2015/02/27 职场文书
大学开学感言
2015/08/01 职场文书