• 2022-09-04被罚款200元记6分.
  • 特么的.电脑风扇坏了.快递还全部停发.太难了...求求了.疫情赶紧走吧.
  • 难啊难!要钱难!
  • 更新到WordPress5.6啦
  • 有点伤心了,今年净遇到王某海这种人.
  • 难啊难...
  • 七牛的JS SDK 的文档真坑啊.
  • 蓝奏云分享部分地区无法访问需手动修改www.lanzous.com变为:www.lanzoux.com
  • 好气啊~原来使用的CDN服务商莫名其妙的给我服务取消了~
  • 遇见一个沙雕汽车人.

JavaScript - 有趣的随机点名器实例

WEB前端 KIENG 5年前 (2018-09-13) 149907次浏览 已收录 0个吐槽 扫描二维码

利用我们上回学到的定时器,让我们实际操作一下.简单的写出一个随机点名器吧~(写法千万种,就看思想怂不怂.)


回顾一下定时器代码:

//多次计时器
setInterval(function(){
//函数体
},时间)
//单次计时器
setTimeout(function(){
//函数体
},时间)

 


好了让我们实际操作一手吧!首先看看成品图~(我的审美一向很低)

JavaScript - 有趣的随机点名器实例


哈哈哈,有点东西吧~
我们上代码吧~CSS 部分就不写了

<script>

	var member = new Array('小明','小青','kieng','帅逼','666','牛逼','损人青'); //创建数据数组
	var color = new Array('red','green','pink','blue','#f5f','#000','#D55');
	var m = document.getElementById('randname'); //准备点名那个对象
	var kai = document.getElementById('go'); //按钮对象
	var suiji = document.getElementById('suiji');//选择模式 随机 或者是倒计时
	var daojishi = document.getElementById('daojishi');//倒计时模式
	function ok(){
		if (suiji.checked==true) { //判断随机模式

		if (kai.innerHTML == '开始') { //判断是否点击了开始
		 timmer = setInterval(function(){
			shu = Math.floor(Math.random()*(parseInt(member.length)));  //随机数最大值,转成整数型
			colorshu = Math.floor(Math.random()*(parseInt(color.length)));  //颜色数组个数
			m.innerHTML=member[shu];//给予名字
			m.style.color=color[colorshu];//给予颜色
			
		},50)
		 kai.innerHTML = '停止';
		}else{
			clearInterval(timmer);
			kai.innerHTML = '开始';
		}

		}else{//如果他选择了倒计时模式
			if (kai.innerHTML == '开始') { //判断是否点击了开始
			 timmer = setInterval(function(){
				shu = Math.floor(Math.random()*(parseInt(member.length)));  //随机数最大值,转成整数型
				colorshu = Math.floor(Math.random()*(parseInt(color.length)));  //颜色数组个数
				m.innerHTML=member[shu];
				m.style.color=color[colorshu];
			},50)
			 
			 num = 5;//默认 5 秒
			 kai.disabled=true;//不可点击
			 kai.innerHTML = '开始(倒计时:'+num+'秒)'; //直接先显示要不然有 1 秒的空档期
			 timmer1 = setInterval(function(){
			 	num--;//自减
			 	kai.innerHTML = '开始(倒计时:'+num+'秒)';//显示倒计时剩余秒数
			 	
			 	if (num<=0) {//如果 num 变量的数值小于 0 之后...
			 		kai.disabled=false;//按钮恢复
			 		clearInterval(timmer1);//销毁定时器
			 		clearInterval(timmer);//销毁定时器
			 		kai.innerHTML = '开始'//按钮 value 回去

			 	}
			 },1000)
			}
		}
	}

	window.onkeydown = function(){ //点击空格开始
			if (event.keyCode==32) {
				ok();
			}
		}
</script>
//上面的炫彩字
<script>
	function changeColor(){
	var color="#f00|#0f0|#00f|#880|#808|#088|yellow|green|blue|gray"; //待处理的颜色数据
	color=color.split("|"); //分割
	document.getElementById("xuanze").style.color=color[parseInt(Math.random() * color.length)];
	}//id 为 xuanze 的标签的 style 的字体颜色为分割之后的随机颜色
	setInterval(changeColor,100);//每 100 毫秒执行一次函数
</script>
实例演示
KIENG.CN , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权
转载请注明出处:JavaScript - 有趣的随机点名器实例
本文章链接:https://blog.kieng.cn/167.html
喜欢 (4)
KIENG
关于作者:
一个热衷网络的Man
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 快速获取昵称
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址