zoukankan      html  css  js  c++  java
  • 【javascript】原生 js 星级评分

    今天上午抽空随手写了个星级评分的效果,给大家分享下。由于水平有限,如有问题请指出。

    首先要准备一张星星的图片,灰色是默认状态,黄色是选择状态。如图:

    最后附上代码:

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title>javascript星级评分</title>
        <style type="text/css">
        *{margin:0;padding:0;}
        .wrapper{height:20px;padding:5px;width:130px;margin:100px auto 10px;}
        a{float:left;width:26px;height:20px;background:url(star.png) 0 -20px no-repeat;}
        p{font:24px SimSun;width:130px;margin-left:auto;margin-right:auto;}
        </style>
    </head>
    <body>
        <div class="wrapper">
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
        </div>
        <p></p>
    </body>
    </html>
    <script type="text/javascript">
    window.onload = function(){
        var star = document.getElementsByTagName('a');
        var oDiv = document.getElementsByTagName('div')[0];
        var temp = 0;
        
        for(var i = 0, len = star.length; i < len; i++){
            star[i].index = i;
            
            star[i].onmouseover = function(){
                clear();
                for(var j = 0; j < this.index + 1; j++){
                    star[j].style.backgroundPosition = '0 0';
                }
            }
            
            star[i].onmouseout = function(){
                for(var j = 0; j < this.index + 1; j++){
                    star[j].style.backgroundPosition = '0 -20px';
                }
                current(temp);
            }
            
            star[i].onclick = function(){
                temp = this.index + 1;
                document.getElementsByTagName('p')[0].innerHTML = temp + ' 颗星';
                current(temp);
            }
        }
        //清除所有
        function clear(){
            for(var i = 0, len = star.length; i < len; i++){
                star[i].style.backgroundPosition = '0 -20px';
            }
        }
        //显示当前第几颗星
        function current(temp){
            for(var i = 0; i < temp; i++){
                star[i].style.backgroundPosition = '0 0';
            }
        }
    };
    </script>

    附上下载地址。

  • 相关阅读:
    转 GFlags 使用详解
    printf 格式输出
    XCODE unknown type name __declspec 错误的解决方法
    Boost提示'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件
    DOLServer
    游戏AI的开发框架组件 behaviac
    mongodb 数据导入和导出
    Makefile经典教程
    g++ 编译动态链接库和静态链接库
    excel 公式
  • 原文地址:https://www.cnblogs.com/yjzhu/p/2827627.html
Copyright © 2011-2022 走看看