教你用JavaScript实现随机点名


案例介绍

我们来用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);
}

本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;

2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;

3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;

4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;

5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/293968.html

(0)
上一篇 2022年11月30日
下一篇 2022年11月30日

相关推荐

发表回复

登录后才能评论