个人学习记录3:星星评级功能

星星评级效果

<div class="star-box" data-star="3">
    <i class="icon-star"></i>
    <i class="icon-star"></i>
    <i class="icon-star"></i>
    <i class="icon-star-empty"></i>
    <i class="icon-star-empty"></i>
</div>
// 星星评级功能
$("body").undelegate(".star-box", "mouseover click mouseleave")
    .delegate(".star-box", "mouseover", function(event) {
        // 鼠标悬浮改变星级数量
        var _this = event.target;
        if(_this && _this.nodeName.toUpperCase() == "I"){
            $(event.currentTarget).children().removeClass();
            $(_this).addClass('icon-star').prevAll().addClass("icon-star");
            $(_this).nextAll().addClass("icon-star-empty");
        }
    }).delegate(".star-box", "click", function(event) {
        // 鼠标点击确定改变星级
        var _this = event.target;
        if(_this && _this.nodeName.toUpperCase() == "I"){
            var index = $(_this).index();
            $(event.currentTarget).attr("data-star",Number(index+1));
        }
    }).delegate(".star-box", "mouseleave", function(event) {
        // 离开时,显示原星级
        var starBox = event.currentTarget;
        var starNum = $(starBox).attr("data-star");
        $(starBox).children().removeClass().addClass('icon-star')
        .eq(starNum-1).nextAll().removeClass().addClass('icon-star-empty');
    });

 

posted @ 2016-12-22 13:41  huliang56  阅读(186)  评论(0编辑  收藏  举报