zoukankan      html  css  js  c++  java
  • js实现星级评分之方法一

    利用一个星级评分的小案例,来逐步封装js星级评分插件。

    从最基础的js知识,通过一个小的demo,逐步学习js的面向对象知识。

    从浅到深,逐步递进。

    图片素材

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>星级评分--第一种实现方式</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">
        var num = 2,
            $rating = $('#rating'),
            $item = $rating.find('.rating-item');
    
        //点亮星星
        var lightOn = function(num){
            $item.each(function(){
                if($(this).index() < num){
                    $(this).css('background-position','0 -32px');
                }else{
                    $(this).css('background-position','0 0');
                }
            });
        }
    
        //初始化,点亮num个星星
        lightOn(num);
    
        $item.on('mouseover',function(){//鼠标移入时,触发相应操作
            lightOn($(this).index() + 1);
        }).on('click',function(){//鼠标点击时,触发相应操作
            num = $(this).index() + 1;
        });
    
        //鼠标移出是,触发相应的操作
        $rating.on('mouseout',function(){
            lightOn(num);
        });
    </script>
    </html>
  • 相关阅读:
    Mysql源码学习——Connection Manager
    MySQL源码学习——MDL字典锁
    Mysql源码学习——用户认证原理与实现
    Mysql源码学习——Thread Manager
    你真的了解如何登录MySQL么?
    CSDN密码库窥视各大数据库性能
    Mysql源码学习——没那么简单的Hash
    How to use NoSQL in MySQL
    Oracle的聚簇也Hold不住了
    Python 错误解决方法
  • 原文地址:https://www.cnblogs.com/yxhblogs/p/7215204.html
Copyright © 2011-2022 走看看