星级评分原理和实现

html:

   <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>

css:

    .rating{width:130px; height:30px; float:left;  margin:30px auto;}

    .rating .rating-item{width:26px;height:26px;}

 

js: 

    var num = 2;

    rating = $("#rating"),

    item = rating.find(".rating-item");

    var lightOn = function(num){

    item.each(function(i){

        if(i < num ){

        $(this).css("background-position","0  -25px");

        }else{

        $(this).css("background-position"," 0  0 ");

        }

    })

}

//初始化

    lightOn(num);

    //事件绑定

    item.on("mouseover",function(){

        lightOn($(this).index()+1);

}).on("click",function(){

        num = $(this).index() +1;

});

    rating.on("mouseout",function(){

        lightOn(num);

})

//事件委托,.rating-item委托给父元素rating

 

 rating.on("mouseover",".rating-item",function(){

        lightOn($(this).index()+1);

}).on("click",".rating-item",function(){

        num = $(this).index() +1;

}).on("mouseout",function(){

    lightOut(num);

});

 

var init  = function (el,num){

 

    var rating = el,

            item = rating .find(".rating-item");

};

return {init:init};

 var rating =    (function (){

    将那些代码放进来

})();

    rating.init("#rating",2);

    rating.init("#rating",3);

//jquery  插件

    $.fn.extend({

    rating:function(num){

        return this.each(function(){

            init(this,num);

    })

}

})

调用:$(".rating").rating(2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值