首页 > 编程语言 >教你用JavaScript实现随机点名

教你用JavaScript实现随机点名

时间:2022-11-29 19:46:32浏览次数:60  
标签:点名 show 教你用 JavaScript innerHTML 随机 按钮 var

随机点名器-竖-封面.jpg

案例介绍

欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!
我们来用JavaScript相关知识,做一个随机点名的案例。你可以通过点击开始按钮控制上方名字的闪动,点击停止按钮可以随机选定一个名字。

案例演示

运行程序后,我们可以看到一个矩形框按钮,显示开始点名,点击后名字随机闪动。同时按钮变成停止点名,再次点击按钮,会随机出现一个名字,也就是"天选之子"。



源码学习

HTML主要就是两个盒子模型,用于存放姓名数组和点击按钮。

<body background="../images/背景图片.jpg">
    <!-- 有个小院-兴趣编程 -->
    <!-- 点名的大盒子 -->
        <div id="ready">天选之子,你准备好了吗?</div>
        <div id="start" onclick="doit()">开始点名</div>
    <!-- 引入js文件 -->
<script src="../js/index.js" type="text/javascript"></script>
</body>

接下来是核心javascript代码,定义一个承载名字的数组,定时器初始化为null。开始点名按钮的点击事件doit(),根据getElementById()方法获取对应组件。用if()判断若时间为空,则开启点名事件show()同时通过innerHTML属性返回开始和结束标签之间的 HTML,否则清除定时器。show()函数主要是获取名字数组,并通过下标随机生成名字,setTimeout()函数是表示1s后执行show()函数。

var names=["点不到我","李明","刘子扬","黄花菜","郑华","李询","白敬亭","王一博"];
var time=null;
function doit(){
    var button=window.document.getElementById("start");
    if(time==null){
        // innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML
        button.innerHTML="停止点名";
        show();
    }else{
        button.innerHTML="开始点名";
        clearInterval(time);
        time=null;
    }
}
function show(){
    var box=window.document.getElementById("ready");
    var num=Math.floor(Math.random()*100000)%names.length;
    box.innerHTML=names[num];
    time=setTimeout("show()",1);
}

关注我,跟着我每天学习一点点,让你不在枯燥,不在孤单..

学会这个随机点名器,上课还怕被提问?

全网可搜:小院里的霍大侠, 免费获取简单易懂的实战编程案例。编程/就业/副业/创业/资源。
私微信:huodaxia_xfeater
二维码: http://www.yougexiaoyuan.com/images/weixin_huodaxia.jpg
公众号:有个小院(微信公众号:yougexiaoyuan)
github:yougexiaoyuan (视频源码免费获取)
(部分素材来源于互联网,如有保护请联系作者)

标签:点名,show,教你用,JavaScript,innerHTML,随机,按钮,var
From: https://www.cnblogs.com/xFeater/p/16936473.html

相关文章

  • javascript 高级编程系列 - 字符串
    1.字符串中的方法matchstr.match(reg)参数:一个正则表达式对象,如果reg不是正则表达式对象,则会利用newRegExp(reg)隐式转换。返回值:1.正则表达式中如果有g标志......
  • 1、引入Javascript的几种方式
    <scripttype="text/javascript">window.alert("hellojs");//alert函数会阻塞整个页面加载的作用,当我们把script放到最前面//当alert按......
  • JavaScript笔记
    JavaScript合集学完HTML5+CSS3的小伙伴,学习JS时,要多敲多练多想多拓展刚开始入门JS的时候,我们不需要纠结那么多,有些需要先记住,后面会慢慢明白为什么是这样的JS基础部分......
  • 使用Javascript/jQuery将javascript对象转换为json格式数据
    Javascript自带的eval()函数能够将json数据转换成Javascript对象。但是,却没有提供将Javascript对象序列化为json格式的函数。varjson='{"name":"John"}';varobj=eva......
  • 【JS】569- 如何避免这4类 JavaScript 内存泄漏?
    英文原文| ​​https://auth0.com/blog/four-types-of-leaks-in-your-javascript-code-and-how-to-get-rid-of-them/​​​本文将探索常见的客户端JavaScript内存泄漏,以......
  • vue 中使用 XQJavaScriptFramework
    说明XQJavaScriptFramework隶属于XQFramework下JS基础性框架部分XQFramework励志将开发将常用开发语音基础性框架统一汇总,为全站开发使用到的基础语法进行统一,拜......
  • 【GIS开发】OpenLayers入门学习(JavaScript库)
    文章目录​​1、简介​​​​2、快速入门​​​​2.1在线库快速入门​​​​2.2本地库快速入门​​​​2.3nodejs快速入门​​​​2.4vue快速入门​​​​2.5python快......
  • 掌握这 10 个 JavaScript 新的特性,让编写的代码既干净又有趣
    JavaScript不断升级迭代,越来越多的新特性让我们的代码写起来干净有趣,在这篇文章中我们介绍了10个新特性。 1.字符串。原型.replaceAllreplaceAll()返回一个新字......
  • JavaScript动态生成制定行数,列数,并制定表头的表格
    JavaScript动态生成制定行数,列数,并制定表头的表格<html><head><scriptlanguage="javascript">vartable_head=newArray("用户名","MAC地址","用户类型");varcol_wi......
  • javascript常用技巧
    javascript常用技巧事件源对象event.srcElement.tagNameevent.srcElement.type捕获释放event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件......