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 相关文章推荐
弹出广告特效代码(一个IP只弹出一次)
May 11 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
Sep 02 Javascript
浅谈JS闭包中的循环绑定处理程序
Nov 09 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
Nov 23 Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
ionic2懒加载配置详解
Sep 01 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
Javascript读取上传文件内容/类型/字节数
Apr 30 Javascript
webpack+vue.js构建前端工程化的详细教程
May 10 Javascript
javascript实现移动端轮播图
Dec 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
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
CI框架附属类用法分析
2018/12/26 PHP
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
python实现ping的方法
2015/07/06 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
小学毕业感言150字
2014/02/05 职场文书
日语专业求职信
2014/07/04 职场文书
交通安全教育心得体会
2016/01/15 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
Python实现双向链表
2022/05/25 Python