其他分享
首页 > 其他分享> > 基于jquery的五星好评效果

基于jquery的五星好评效果

作者:互联网

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

<ul class="comment">
    <li>☆</li>
    <li>☆</li>
    <li>☆</li>
    <li>☆</li>
    <li>☆</li>
</ul>

css

 * {
	padding:0;
	margin:0;
}
.comment {
	font-size:40px;
	color:#ff3100;
}
.comment li {
	float:left;
	cursor:pointer;
}
ul {
	list-style:none;
}

jquery

 $(function() {
     var wjx_none = '☆'; // 空心五角星
     var wjx_sel = '★'; // 实心五角星

     //需求1:鼠标放上去当前的li和之前所有的li内容全部变为实心五角星,移开变为空心。
     $(".comment li").on("mouseenter", function() {
         //当前五角星,和之前的所有五角星,全部是实心的,其他的为空心
         //                $(this).text(wjx_sel).prevAll("li").text(wjx_sel);
         //                $(this).nextAll("li").text(wjx_none);
         $(this).text(wjx_sel).prevAll("li").text(wjx_sel).end().nextAll("li").text(wjx_none);
     });

     $(".comment li").on("mouseleave", function() {
         //bug:如果没有点击过li,那么会出现无法清除的现象,处理办法就是先判断,看看是否有current类
         if ($("li.current").length === 0) {
             $(".comment li").text(wjx_none);
         } else {
             //当鼠标移开的时候,谁有current类名,那么当前和之前所有的li前部是实心五角星,后面的所有li都是空心
             $("li.current").text(wjx_sel).prevAll("li").text(wjx_sel).end().nextAll("li").text(wjx_none);
         }
     });


     //需求2:鼠标点击那个li,当你前li和之前所有的li都变成实心五角星,其他变为空心。
     $(".comment li").on("click", function() {
         //点击哪个li给他加一个类名。清空其他所有的li的类名
         $(this).attr("class", "current").siblings("li").removeAttr("class");
     });


 });
Dr_W 发布了165 篇原创文章 · 获赞 51 · 访问量 6824 私信 关注

标签:jquery,五星,五角星,text,comment,li,好评,wjx,sel
来源: https://blog.csdn.net/qq_42363032/article/details/103933369