JS小案例:单个按钮绑定时钟开启和暂停以及随机点名

 单个按钮开启暂停时钟案例

单个按钮绑定时钟案例中,核心在于进行value值的判断,每次点击按钮都会进行一次value值判断以及value值更改

HTML源码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>一个按钮绑定时钟开始和暂停</title>
	</head>
	<body onload="showTime()">
		<div id="d1">
			
		</div>
		<!--  定义隐藏域,目的是为了在点击按钮时切换状态,作为判断开始或暂停的条件 -->
		<input type="hidden" id="hdd1" value="start" />
		
		<input type="button" id="btn" value="按钮" onclick="btn_pres()" />
		
	</body>
	<script>
		function $(obj){
			return document.getElementById(obj);
		}
		
		var flag;
		// 获取当前系统时间
		function showTime(){
			//修改页面为当前系统时间
			$("d1").innerText=currentTime();
			//指定毫秒数之后执行指定函数
			flag =setTimeout("showTime()",1000);
		}
		//暂停
		function ting(){
			clearTimeout(flag);
		}
		//获取当前系统时间
		function currentTime(){
			var today=new Date();
			var hours=today.getHours();
			var mins=today.getMinutes();
			var sec =today.getSeconds();
			return  hours+":"+mins+":"+sec;
			
		}
		//点击事件函数
		function btn_pres(){
			
			if($("hdd1").value=="start"){
				clearTimeout(flag);//暂停时间
				$("hdd1").value="end";
			}else {
				showTime();//开启时间
				$("hdd1").value="start";
			}
		}
	</script>
</html>

 随机点名案例

随机点名小案例:点名案例在学会上一个案例后,很好理解

 HTML源码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>点名普通版</title>
	</head>
	<!-- 页面加载完成时,调用dianming函数 -->
	<body onload="dianming()">
			<!-- 	 实现点名器(抽奖程序)
		    1) var arr=new Array("zhangsan,....")  创建一个数组存放原始数据
		    2)arr[random]    使用随机数生成数组下标
		    3) setInterval或 setTimeout   周期执行点名程序   -->  
			
			<div id="d1" >
			<!-- 在此位置展示数据 -->	
			</div>
			<!-- 点名调用dianming函数 ,与按钮绑定,我们自己定义的js函数-->
			<input type="button" id="kaishi"value="重新点名" onclick="dianming()">
			<!-- 结束调用ting函数 与按钮绑定,我们自己定义的js函数-->
			<input type="button" id="ting" value="结束" onclick="ting()"/>
			
	</body>
	<script>
		//封装一个获取元素对象的函数,方便后续使用
		function $(obj){
			return document.getElementById(obj);
		}
		//创建含有原始数据的数组
		//可以修改数组中的数据
		var arr=["zhangsan","lisi","wangwu","zhaoliu","qianqi"];
		//设置标记变量并提高作用范围
		var flag;
		//点名函数
		function dianming(){
			//随机获取数组中的下标,并转换成整数
			var name=parseInt(Math.random()*(arr.length-1));
			//调用封装好的函数,修改标签中展示的内容
			$("d1").innerText=arr[name];
			//一段时间(设置时间为毫秒值1s=1000ms)后再次执行点名函数,因为setTimeout函数嵌套在dianming函数中
			//其实是一个递归(自己调用自己的过程),会一直持续下去,直到我们点击按钮(绑定ting函数)取消递归
			flag=setTimeout("dianming()",100);
		}
		//可以理解为结束递归的条件
		function ting(){
			clearTimeout(flag);
		}
	</script>
</html>

随机点名案例图片版

图片版点名只是在随机点名的基础上将文本替换成img标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/myJS.js"></script>
	</head>
	<style>
		img{
			width: 100px;
			width: 100px;
		}
	</style>
	<body onload="dianming()">
			<div style="margin: auto; width: 200px;">
			<table>
				<tr style="height: 100px; width: 100px;">
					<div id="d1"  style="width: 100px;height: 100px"></div>
				</tr>
				<tr>
					<input type="button" id="kaishi"value="重新点名" onclick="dianming()">
					<input type="button" id="ting" value="结束" onclick="ting()"/>
				</tr>
			</table>
			</div>
	</body>
	<script>
		var arr=["zhangsan","lisi","wangwu","zhaoliu","qianqi"];
		var arrimg =[0,1,2,3,4,5,6,7,8,9];
		
		function dianming(){
			var name=parseInt(Math.random()*(arrimg.length-1));
			//将图片命名为1.jpg等类似格式,与数组中存储数据要一一对应,注意图片路径,为自己的路径,使用字符串拼接即可
			$("d1").innerHTML="<img src=img/"+name+".jpg>";
			flag=setTimeout("dianming()",100);
		}
		function ting(){
			clearTimeout(flag);
		}
	</script>
</html>

 以上是近来学习JS的一些小案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值