jQuery_五角星评分/链式编程

<!--@description-->
<!--@author beyondx-->
<!--@date Created in 2022/08/02/ 15:19-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>五角星评分案例</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .comment {
            font-size: 40px;
            color: red;
        }

        .comment li {
            float: left;
            cursor: pointer;
        }

        ul {
            list-style: none;
        }
    </style>
</head>

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

<script src="jquery-1.12.4.js"></script>
<script>
   $(function () {
     // 需求1: 鼠标移入到li标签上,当前li标签和他之前的li标签显示 实心五角心,后面的li显示 空心五角心.
     // 需求2: 鼠标离开li,所有的li都变成空心.
     // 需求3: 点击li,鼠标离开后,刚才点击的那个li和之前的li都变成 实心五角心,后面 空心五角心.

       /**
        * prev(): 上一个兄弟
        * prevAll(): 之前所有的兄弟
        * next(): 下一个兄弟
        */

       // 声明一个变量, 记录这个实心五角星
       var solid_star = '★';
       var hollow_star = '☆';


    // 给 li 注册 事件
    $('.comment > li').on('mouseenter', function () {
        // 需求1: 鼠标移入到li标签上,当前li标签和他之前的li标签显示 实心五角心,后面的li显示 空心五角心.
        // $(this).text(solid_star).prevAll().text(solid_star).nextAll().text(hollow_star);
        $(this).text(solid_star).prevAll().text(solid_star);
        $(this).nextAll().text(hollow_star);
    }).on('mouseleave', function () {
        // 需求2: 鼠标离开li,所有的li都变成空心
        $('.comment > li').text(hollow_star);
        // 在鼠标离开的时候, 获取刚才点击的那个li
        $('.comment > li[clickCurrent]').text(solid_star).prevAll(solid_star);


    }).on('click', function () {
        // 需求3: 点击li,鼠标离开后,刚才点击的那个li和之前的li都变成 实心五角心,后面 空心五角心
        // 给鼠标当前点击的li做一个记号,为什么要做一个记号,是因为鼠标离开的时候,要知道你刚才点击的是哪一个li
        // 给当前鼠标点击的这个li添加一个独一无二的属性
        // 方式1: 通过索引, 可行
        // 方式2: 给当前 鼠标点击的 li, 添加一个 独一无二的属性, 之后 可以通过这个属性来判断
        $(this).attr('clickCurrent', 'current').siblings().removeAttr('clickCurrent');
    });
       
   });
</script>
</body>
</html>

在这里插入图片描述

posted on   beyondx  阅读(30)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示