星级评分实现

Posted liangtao999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了星级评分实现相关的知识,希望对你有一定的参考价值。

效果图:

技术图片

图片:

技术图片

完整代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>星级评分</title>
        <style>
            *{
                padding:0;
                margin: 0;
            }
            .rating{
                width:140px;
                height: 26px;
                margin:100px auto;
            }
            .rating-item{
                float:left;
                width:28px;
                height: 26px;
                background:url(img/star.png) no-repeat ;
                cursor:pointer;
                list-style: none;
            }
        </style>
    </head>
    <body>
        <ul class="rating" id="rating">
            <li class="rating-item" title="很不好"></li>
            <li class="rating-item" title="不好"></li>
            <li class="rating-item" title="一般"></li>
            <li class="rating-item" title="好"></li>
            <li class="rating-item" title="很好"></li>
        </ul>
        <script src="js/jquery.min.js" ></script>
        <script>
            let num=0;
            let $rating=$(#rating);
            let $item=$rating.find(.rating-item);
            let lightOn=function(num){
                $item.each(function(index){
                    if(index<num){
                        $(this).css(background-position,0 -26px);
                    }
                    else{
                        $(this).css(background-position,0 0);
                    }
                })
            }
            //初始化
            lightOn(num);
            //事件绑定
            $rating.on(mouseover,.rating-item,function(){  //事件委托
                lightOn($(this).index()+1);
            }).on(click,.rating-item,function(){
                num=$(this).index()+1;
                let info=$(this).attr("title");
                console.log(`您选择了“${info}”`);
            }).on(mouseout,function(){
                lightOn(num);
            })
            
        </script>
    </body>
</html>

 

 

以上是关于星级评分实现的主要内容,如果未能解决你的问题,请参考以下文章

原生js实现星级评分

js实现星级评分效果(最短代码)

js实现星级评分之方法一

Javascript 实现简单的星级评分功能

iOS星级评分效果实现

Vue实现一个星级评分组件