zoukankan      html  css  js  c++  java
  • 星级评分--封装成jquery插件

    <!DOCTYPE html>

    <html>
    <head>
        <meta charset="utf-8">
        <title>星级评分--封装成jquery插件</title>
    </head>
    <style type="text/css">
        body,ul,li{
            margin: 0;
            padding: 0;
        }
        li{
            list-style-type: none;
        }
        .rating{
             162px;
            height: 32px;
            margin: 100px auto;
        }
        .rating-item{
            float: left;
             32px;
            height: 32px;
            background: url('./img/rating.png') no-repeat;
            cursor: pointer;
        }
    </style>
    <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>
    </body>
    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
    <script type="text/javascript">
        //封装成jquery插件
        var rating = (function(){
            //点亮星星
            var lightOn = function($item,num){
                $item.each(function(index){
                    if(index < num){
                        $(this).css('background-position','0 -32px');
                    }else{
                        $(this).css('background-position','0 0');
                    }
                });
            };
     
            //初始化
            var init = function(el,num){
                var $rating = $('#rating'),
                    $item = $rating.find('.rating-item');
     
                //初始化,点亮num个星星
                lightOn($item,num);    
     
                $rating.on('mouseover','.rating-item',function(){//鼠标移入时,触发相应操作
                    lightOn($item,$(this).index() + 1);
                }).on('click','.rating-item',function(){//鼠标点击时,触发相应操作
                    num = $(this).index() + 1;
                }).on('mouseout',function(){//鼠标移出是,触发相应的操作
                    lightOn($item,num);
                });
            };
     
            //jquery插件
            $.fn.extend({
                rating : function(num){
                    return this.each(function(){
                        init(this,num);
                    });
                }
            });
     
            return {
                init : init
            };
        })();
        $(".rating").rating(3);
    </script>
    素材:
  • 相关阅读:
    Openjudge-2694-逆波兰表达式
    POJ-3984-迷宫问题
    HUST软件与微电子学院第八届程序设计竞赛-小乐乐下象棋
    LiberOJ-#6000. 「网络流 24 题」搭配飞行员 (二分图匹配)
    BZOJ-3172: [Tjoi2013]单词 (AC自动姬 fail树)
    BZOJ-1036: [ZJOI2008]树的统计Count(树链剖分+线段树)
    HDU-3966 Aragorn's Story(树链剖分+线段树)
    hihoCoder-1036 Trie图(AC自动姬)
    WHYZOJ-#14 数列(矩阵快速幂)
    WHYZOJ-#66 穿越七色虹(二分)
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8796027.html
Copyright © 2011-2022 走看看