像这种给商品评分的效果,基本上所有电商网站都有。这里写这个效果的时候运用到了一些CSS技巧。结合posiiton,z-index,background-p_w_picpath,background-position,overflow,:hover等等多个属性。


  • 给商品评分:
  • .rating{
        overflow:hidden;
        width:80px;
        height:16px;
        margin:0 0 20px 0;
        clear:both;
        background-p_w_picpath:url(../p_w_picpaths/star-matrix.gif);
        position:relative;
    }
    .nostar{
        background-position:0 0;
    }
    .onestar{
        background-position:0 -16px;
    }
    .twostar{
        background-position:0 -32px;
    }
    .threestar{
        background-position:0 -48px;
    }
    .fourstar{
        background-position:0 -64px;
    }
    .fivestar{
        background-position:0 -80px;
    }
    ul.rating li{
        float:left;
        cursor:pointer;
        width:16px;
        height:16px;
        text-indent:-999em;
    }
    ul.rating li a{
        display:inline-block;
        width:16px;
        height:16px;
        position:absolute;
        top:0;
        left:0;
        z-index: 200;
    }
    ul.rating li.one a{
        left:0;
    }
    ul.rating li.two a{
        left:16px;
    }
    ul.rating li.three a{
        left:32px;
    }
    ul.rating li.four a{
        left:48px;
    }
    ul.rating li.five a{
        left:64px;
    }
    ul.rating li a:hover{
        width:80px;
        height:16px;
        left:0;
        background-p_w_picpath:url(../p_w_picpaths/star-matrix.gif);
        overflow:hidden;
        z-index:2;
    }
    ul.rating li.one a:hover{
        background-position:0 -96px;
    }
    ul.rating li.two a:hover{
        background-position:0 -112px;
    }
    ul.rating li.three a:hover{
        background-position:0 -128px;
    }
    ul.rating li.four a:hover{
        background-position:0 -144px;
    }
    ul.rating li.five a:hover{
        background-position:0 -160px;
    }
    //给商品评分
        $(".rating li a").click(function(){
            var title=$(this).attr("title");
            alert("您给此商品的评价是:"+title);
            var cl=$(this).parent().attr("class");
            $(this).parent().parent().removeClass("nostar").addClass(cl+"star");
            $(this).blur();//去掉a链接的虚线框.
            return false;
        })