原生实现--星星评分功能

星星评分的具体实现原理 如下代码:

在这里插入图片描述

<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		body,ul,li{
			padding:0;
			margin:0;
		}

		/* 把图片放到li里面 */
		li{
			list-style: none;
			float:left;
			height:28px;
			width:27px;
			background:url(img/star.gif) no-repeat 0 0;
		
		}


	</style>
</head>

<body>
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
	<div id="tip"></div>
	<script type="text/javascript">
		let oList = document.querySelectorAll("li");
		let oTip = document.getElementById("tip");
		let flag = false; //开关
		let curIndex = 0;
		let arr =[1,2,3,4,5];
	

		for(let i = 0;i<oList.length;i++){																			
			oList[i].onmousemove = function(){
				for(let j=0;j<oList.length;j++){
					oList[j].style.backgroundPosition = "0 0";
				}
				//当前的和之前的要点亮
				for(let j = 0;j<=i;j++){
					oList[j].style.backgroundPosition = "0 -28px";
					//鼠标移入的时候 亮星星上去
				}
				oTip.innerText = arr[i];
			}

			
			
			
			
			oList[i].onmouseout = function(){
				for(let j = 0;j<oList.length;j++){
					oList[j].style.backgroundPosition = "0  0";
					//鼠标移出的时候 亮星星下去
				}

					oTip.innerText = "";
					if(flag){
					for(let j= 0;j<=curIndex;j++){
						oList[j].style.backgroundPosition = "0 -28px";
					}
					oTip.innerText = arr[curIndex];
				}
			}

			
			
			
			
			
			
			oList[i].onclick = function(){
				flag = true;
				curIndex = i;
			}
		}
	</script>
</body>

大家有什么不清楚的地方一定要及时提出来 及时解决问题 欢迎大家一起讨论!! 相信自己是最棒的!O(∩_∩)O哈~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值