评分效果

引用的图片

效果展示

代码

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
        <style type="text/css">
            
        *{margin:0;padding:0;list-style-type:none;}
        a,img{border:0;}
        body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";color:#5e5e5e;}
        
        .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
        .clearfix{display:inline-table;}
        *html .clearfix{height:1%;}
        .clearfix{display:block;}
        *+html .clearfix{min-height:1%;}
        .fl{float:left;}
        
        .score{border:1px solid #E0DCDC;background:#fefdea;padding:10px;width:320px;margin:40px auto 0 auto;}
        .score-pro li{line-height:35px;}
        .score-pro li .score-info{text-align:center;display:block;}
        .score-star{text-align:center;}
        .score-star span{display:block;height:35px;}
        .score-star .score-txt{color:red;height:26px;line-height:26px;}
        .score-star i{background-image:url("star.png");background-repeat:no-repeat;display:inline-block;width:35px;height:35px;margin:0 5px;}
        .score-star .star1{background-position:0px 0px;}
        .score-star .star2{background-position:-41px 0px;}
        .score-star .star3{background-position:-83px 0px;}
        .score-star .star4{background-position:-124px 0px;}
        .score-star .star5{background-position:-165px 0px;}

        .score-star .star-solid.star1{background-position:0px -35px;}
        .score-star .star-solid.star2{background-position:-41px -35px;}
        .score-star .star-solid.star3{background-position:-83px -35px;}
        .score-star .star-solid.star4{background-position:-124px -35px;}
        .score-star .star-solid.star5{background-position:-165px -35px;}
        </style>
    </head>
    <body>
    <!-- score 评分 -->
    <div class="score">
        <ul class="score-pro clearfix">
            <li>    <!--在每一个评价条目的前面都放一个隐藏域,用来保存评分的分值,默认的分值为0 -->
                <input class="fl" type="hidden" name="InterviewCommentInfoSub[expAuth]" value="0" />
                <span class="score-info">总体评价</span>
                <div class="score-star">
                    <span class="score-star clearfix">
                        <i class="star1" cjmark=""></i>
                        <i class="star2" cjmark=""></i>
                        <i class="star3" cjmark=""></i>
                        <i class="star4" cjmark=""></i>
                        <i class="star5" cjmark=""></i>
                    </span>
                    <span class="score-txt">未评分</span>
                </div>
            </li>
            <li>
                <input class="fl" type="hidden" name="InterviewCommentInfoSub[killAuth]" value="4" />
                <span class="score-info">响应时间</span>
                <div class="score-star">
                    <span class="score-star clearfix">
                        <i class="star1" cjmark=""></i>
                        <i class="star2" cjmark=""></i>
                        <i class="star3" cjmark=""></i>
                        <i class="star4" cjmark=""></i>
                        <i class="star5" cjmark=""></i>
                    </span>
                    <span class="score-txt">未评分</span>
                </div>
            </li>
            <li>
                <input class="fl" type="hidden" name="InterviewCommentInfoSub[followTime]" value="0" />
                <span class="score-info">工作态度</span>
                <div class="score-star">
                    <span class="score-star clearfix">
                        <i class="star1" cjmark=""></i>
                        <i class="star2" cjmark=""></i>
                        <i class="star3" cjmark=""></i>
                        <i class="star4" cjmark=""></i>
                        <i class="star5" cjmark=""></i>
                    </span>
                    <span class="score-txt">未评分</span>
                </div>
            </li>
            <li>
                <input class="fl" type="hidden" name="InterviewCommentInfoSub[formality]" value="3" />
                <span class="score-info">审计质量</span>
                <div class="score-star">
                    <span class="score-star clearfix">
                        <i class="star1" cjmark=""></i>
                        <i class="star2" cjmark=""></i>
                        <i class="star3" cjmark=""></i>
                        <i class="star4" cjmark=""></i>
                        <i class="star5" cjmark=""></i>
                    </span>
                    <span class="score-txt">未评分</span>
                </div>
            </li>
            <li>
                <input class="fl" type="hidden" name="InterviewCommentInfoSub[appReact]" value="5" />
                <span class="score-info">保密纪律</span>
                <div class="score-star">
                    <span class="score-star clearfix">
                        <i class="star1" cjmark=""></i>
                        <i class="star2" cjmark=""></i>
                        <i class="star3" cjmark=""></i>
                        <i class="star4" cjmark=""></i>
                        <i class="star5" cjmark=""></i>
                    </span> 
                    <span class="score-txt">未评分</span>
                </div>
            </li>
        </ul>
    </div>
    </body>
</html>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script type="text/javascript">
    var degree = ['','差劲 1分','不满意 2分','一般 3分','满意 4分','超级满意 5分','未评分']; //定义一个数组,里面保存了不同的分值对应的描述
    $(function(){
        //点星星
        $(document).on('click','i[cjmark]',function(){ //当点击某个星星时,获取到它的索引,+1后把值赋给对应的隐藏域
            var num = $(this).index();
            var pmark = $(this).parents('.score-star');
            var mark = pmark.prevAll('input');
            mark.val(num+1);

            var list = $(this).parent().find('i');
            for(var i=0;i<=num;i++){
                list.eq(i).addClass('star-solid');
            }
            for(var i=num+1,len=list.length-1;i<=len;i++){
                list.eq(i).removeClass('star-solid');
            }
            $(this).parent().next().html(degree[num+1]);
        });

        var ttt = $(".score-pro li");
        $(ttt).each(function(){
            var star = $(this).find("input").val();
            if(star!=0){
                $(this).find(".score-star").find(".star"+star).addClass('star-solid').prevAll().addClass('star-solid');
                $(this).find(".score-txt").html(degree[star]);
            }
        });
    })
</script>

 

posted @ 2019-04-17 15:58  蘩星靛点  阅读(133)  评论(0编辑  收藏  举报