星级评分--封装成jquery插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<!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{
        width: 162px;
        height: 32px;
        margin: 100px auto;
    }
    .rating-item{
        float: left;
        width: 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>
</html>

素材

posted @   Yxh_blogs  阅读(215)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示