• 评价订单中的五角星,点击之后前面所有的五角星颜色变红,后面的所有星星颜色不变


    评价订单中的五角星,点击之后前面所有的五角星颜色变红,后面的所有星星颜色不变

    思路:在阿里巴巴矢量图中下载需要用的五角星,这样点击的时候,改变它的color,同时获取到它前面的所有五角星改变它的color,获取它所有后面的五角星让他们的color变成原来的颜色。对了最好不要用空心的五角星,因为改变color的时候只会改变它外面有色的部分。这是我写的时候遇到的坑,已经踩过一次了。比较聪明的小伙伴应该已经有思路了,还没看太懂的,可以看下面详细demo

    首先引入css和js

    <link rel="stylesheet" href="css/iconfont.css" />
    <script type="text/javascript" src="js/jquery.1.8.2.min.js" ></script>

     下面是html,写在了一个ul之中:

    <ul class="stars clearfix">
        <li><i class="iconfont icon-star_full"></i></li>
        <li><i class="iconfont icon-star_full"></i></li>
        <li><i class="iconfont icon-star_full"></i></li>
        <li><i class="iconfont icon-star_full"></i></li>
        <li><i class="iconfont icon-star_full"></i></li>
    </ul>

    li用了浮动所以clearfixs是用来清楚浮动的,当然也可以不用li可以把所有的i标签写在一行,感觉还比较方便。。

    <i class="iconfont icon-star_full"></i>这段是阿里巴巴矢量图中的其中一种写法,个人比较青睐阿里巴巴矢量图,这种方式的图片就相当于是文字,可以通过css改变它的颜色,同理js也可以改变它的颜色,如果有不知道但是想了解的,可以给我发私信。
    那么下面就是css啦:
    li{text-decoration: none;list-style-type:none;float: left;}
    .clearfix{content: " ";display: block;height: 0;line-height: 0;overflow: hidden;clear: both;}

    其实下面的js也很简单:(写完之后发现的)

    <script type="text/javascript">
        $(function(){
            $(".icon-star_full").click(function(){//点击五角星的时候
                $(this).css("color","#ff0000").parent().prevAll().find(".icon-star_full").css("color","#ff0000");//让点击它的元素先改变颜色,再找到它前面的所有父元素下面的五角星的class名,同时改变它的颜色
                $(this).parent().nextAll().find(".icon-star_full").css("color","#000000");//这段就是找到当前元素后面的所有父元素下面的五角星的class名,将他们变为原来的颜色
                })
          })
    </script>

    ok!!完美运行,没写的时候觉得很难,写了之后发现没想象中的难。

    那么完整的demo写下面吧,就当存档了,下次自己在遇到还能再看看

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <link rel="stylesheet" href="css/iconfont.css" />
            <title>评价订单中的小星星,点击之后前面所有的小星星颜色变红,后面的所有星星颜色不变</title>
            <script type="text/javascript" src="js/jquery.1.8.2.min.js" ></script>
            <style type="text/css">
                li{text-decoration: none;list-style-type:none;float: left;}
                .clearfix{content: " ";display: block;height: 0;line-height: 0;overflow: hidden;clear: both;}
            </style>
        </head>
        <body>
            <ul class="stars clearfix">
                <li><i class="iconfont icon-star_full"></i></li>
                <li><i class="iconfont icon-star_full"></i></li>
                <li><i class="iconfont icon-star_full"></i></li>
                <li><i class="iconfont icon-star_full"></i></li>
                <li><i class="iconfont icon-star_full"></i></li>
            </ul>
            <script type="text/javascript">
                $(function(){
                    $(".stars li i").click(function(){
                        console.log($(".stars li i"))
                        $(this).css("color","#ff0000").parent().prevAll().find(".icon-star_full").css("color","#ff0000");
                        $(this).parent().nextAll().find(".icon-star_full").css("color","#000000");
                    })
                })
            </script>
        </body>
    </html>
  • 相关阅读:
    ssh 配置
    c指针
    centos 配置
    mac terminal 配色
    【webrtc】coturn服务搭建(27)
    【webrtc】SDP(26)
    【webrtc】webrtc通过peerconnection进行音视频互通(25)
    【webrtc】媒体协商的过程(24)
    【webrtc】STUN协议(23)
    【webrtc】webrtc网络传输基本知识(22)
  • 原文地址:https://www.cnblogs.com/floweres/p/9089021.html
Copyright © 2020-2023  润新知