js案例(星级评论&明密文切换)

星级评论&明密文切换(事件委托)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		
		<title></title>
		
		<style>
			.active{
				color: red;
			}
		</style>
	</head>
	<body>
		<div class="wrapper">
		
			<span class="active"></span>
			
			<span></span>
			
			<span></span>
			
			<span></span>
			
			<span></span>
		</div>
		
		密码:<input type="password"><button>切换</button>
		
		<script>
			var _wrapper=document.querySelector(".wrapper");
			
			var _spans=document.querySelectorAll("span");
			
			_wrapper.onclick=function(event){
			
				//寻找事件源
				var target=event.srcElement||event.target;
				
				if(target.nodeName=="SPAN"){
				
					//找到span对应点击的index
					var index=Array.from(_spans).findIndex(function(tag){
					
						return tag==target;
					})
					
					//index之前的添加active,index之后的取消
					for (var i = 0; i < _spans.length; i++) {
					
						if(i<=index){
						
							_spans[i].className="active";
							
						}else{
						
							_spans[i].className="";
						}
					}
				}
			}
			
			//明文密文切换
			var _button=document.querySelector("button");
			var _input=document.querySelector("input");
			
			_button.onclick=function(){
			
				if(_input.type=="password"){
				
					_input.type="text";
					
				}else{
				
					_input.type="password";
					
				}
			}
		</script>
	</body>
</html>

效果图:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值