用js写简单的点名器

本文介绍了如何使用JavaScript创建一个随机点名器。通过封装名字到数组,利用随机函数选取名字,并设置定时器进行周期性点名。用户可以点击开始或停止按钮来控制点名过程。此外,还展示了HTML结构和CSS样式,以及JS代码实现点名器的详细功能。
摘要由CSDN通过智能技术生成

点名器实现原理

  1. 将所有名字都封装到一个数组中
  2. 将数组下标通过随机函数随机产生
  3. 定义定时器让函数每隔一段时间执行
  4. 点击停止时,让定时器停止
  5. 将选中的名字赋值给文本框

html结构

<form action="" name="form">
			<input type="text" name="name1" value="张三丰">
			<input type="text" name="name2" value="张无忌">
			<input type="text" name="name3" value="郭靖">
			<input type="text" name="name4" value="黄蓉"> 
			<p align="center">
				恭喜你被选中了<input type="text" id="result" value="">
			</p>	
			<input type="button" value="开始" onclick="begin()" id="btn1"><br>
</form>

css样式

<style type="text/css">
			form{
				width: 1000px;
				margin: 100px auto;
				font-size: 18px;
				color: red;
			}
			input[type="text"]{
				height: 30px;
				line-height: 30px;
				outline: none;
				font-size: 18px;
				color: red;
				text-align: center;
			}
			input[type="button"]{
				font-size: 18px;
				color: #fff;
				background-color: #007AFF;
				cursor: pointer;
				outline: none;
				border: none;
				width: 100px;
				display: block;
				border-radius: 20px;
				height: 40px;
				margin: 0 auto;
			}
</style>

在这里插入图片描述

js代码

<script type="text/javascript">
			var arr=["张三丰","张无忌","郭靖","黄蓉","杨过","小龙女","洪七公","欧阳锋","杨逍"];
			var btn1=document.getElementById("btn1");
			var result=document.getElementById("result");
			var speed=200;
			var t;
			function begin(){
				roll(speed);
				if(btn1.value=="开始"){
					btn1.value="停止"
					
					 result.value="";
				}else if(btn1.value=="停止"){
					btn1.value="开始";
					setTimeout(t);		//当点击停止时同时也让定时器停止
					var arr2=[document.form.name1.value,document.form.name2.value,document.form.name3.value,document.form.name4.value];
					result.value=arr2[Math.floor(Math.random()*4)];
				}
			}
			function roll(speedB){
				if(btn1.value=="停止"){
					//把name3的值赋给name4
					document.form.name4.value = document.form.name3.value;
					//把name2的值赋给name3
					document.form.name3.value = document.form.name2.value;
					//把name1的值赋给name2
					document.form.name2.value = document.form.name1.value;
					//让name1的值随机产生
					document.form.name1.value = arr[Math.floor(Math.random()*9)];
				}
				t=setTimeout("roll(" + speedB + ")", speedB);//定时器:让roll()函数每隔200ms执行一次,直至定时器停止
			}
</script>
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值