*用jQuery实现星星好评wink*~

本文介绍了如何使用jQuery实现星星好评的交互效果。通过在HTML中设置星星元素,结合CSS样式,然后利用jQuery绑定触摸事件,动态改变星星的实心与空心状态,实现点击星星时,被点击及之前星星变实心,其他为空心。同时,添加鼠标离开事件,以保持用户选择的状态。

效果展示:

请添加图片描述

思路

一.首先在html中准备五颗空心的小星星

    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>

二.给星星添加css样式

       body {
            font-family: "simsun";
        }
        
        ul {
            list-style: none;
            font-size: 44px;
            color: red;
        }
        
        li {
            cursor: pointer;
            float: left;
        }

三.给星星添加jQuery代码:
1.这里是是先给每颗星星绑定触摸事件。而当前触碰的星星给一个类名。该星星自己和前面的变为实心星星。后面的全部为空心星星

       $("li").on("mouseover", function() {
                $("li").removeClass("current");
                $(this).prevAll("li").text("★");
                $(this).text("★");
                $(this).nextAll("li").text("☆");
            });

2.给点击的星星添加绑定事件给一个类名

$("li").on("click", function() {
                $(this).addClass("current");
            });

ps:但是这个类名只有点击的星星可以有,所有在绑定触摸事件中想通过隐式迭代,删除类名,达到每次点击只有点击的星星拥有类名
3.当鼠标离开星星的时候,添加离开事件,检测li中是否有前面添加的类名。如果有,则该类名的星星以及前面的星星全是实星。若没有则鼠标离开时所有星星都是空心

         $("ul").on("mouseleave", function() {
                if ($(".current").length == 0) {
                    $("li").text("☆");
                } else {
                    $(".current").text("★");
                    $(".current").prevAll("li").text("★");
                    $(".current").nextAll("li").text("☆");
                }
            });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值