• 简单的等级评分效果


    截图:(如果你想换成星星,直接修改样式就可以了,提示的描述跟分数都是在插件里设置)

    demo:猛击这里

    代码有多简单就不说了,本来是找的插件,最后发现一个一个筛选也没找着符合需求的,还是自己硬着头皮动手。写得比较糙,结构上可能不是特别灵活,样式都在demo里

    /***
    aLi: 设置星星或等级的对象
    aMsg: 设置提示描述
    hinText: 设置显示描述的对象
    val: 设置分数
    valContent: 设置获取分数或结果的对象

    调用方法:

        $('.num-rate').rating({
          aLi: '.num-rate li',
          oUl:'.num-rate ul',
          hintText: '.num-rate span',
          valContent: '.num-rate input'
        })

    ***/

    (function ($, rating) { $.fn[rating] = function(options){ var opt = $.extend({ aLi: '', aMsg: ["很不好","不太如意","还不错","好","很好"], hintText: '', val: ["1","2","3","4","5"], valContent: '' }, options || {}); var _index; //在click后记录索引值 return this.each(function(){ var i = iScore = iStar = 0; $(opt.aLi) .mouseover(function(){ var index = $(this).index(); //初始化背景色 $(opt.aLi).removeClass('onVal') //鼠标移上去时的效果 for(i=0; i<=index; i++){ $(opt.aLi).eq(i).addClass('on'); $(opt.hintText).html(opt.aMsg[index]); } }) .mouseout(function(){ var index = $(this).index(); //鼠标离开的效果 for(i=0; i<=index; i++){ $(opt.aLi).eq(i).removeClass('on'); $(opt.hintText).html(''); } //恢复上次的选择结果 save(_index) }) .click(function(){ _index = $(this).index(); $(opt.aLi).removeClass('onVal'); save(_index) }) //保存选择的结果 function save(_index){ $(opt.hintText).html(opt.aMsg[_index]); //显示提示文字 $(opt.valContent).val(opt.val[_index]); //获取分数 for(i=0; i<=_index; i++){ $(opt.aLi).eq(i).addClass('onVal') } } }) }; })(jQuery, 'rating');

    html和css:

    <!doctype html>
    <html>
        <head>
            <meta charset="utf-8">
           <style>

        *{margin:0;padding:0}
        li{list-style:none}
        .num-rate{font-size:12px;200px;margin:60px auto}
        .num-rate li{float: left; 27px; height: 18px;border:1px solid #eaeaea;text-align: center;line-height: 18px;cursor: pointer;}
        .num-rate li a{color: #999999;display: block;}
        .num-rate li a:hover{text-decoration: none;}
        .num-rate li.onVal, .num-rate li.on{background: #ff870c;border-color: #ff870c}
        .num-rate li.onVal a, .num-rate li.on a{color:#fff;}
        .num-rate .hint{float: left;padding-top: 2px;color: #f60}
           </style>
        </head>
        <body>
            <div class="num-rate clearfix">
                <ul class="clearfix">
                    <li><a href="javascript:;" title="很不好">1</a></li>
                    <li><a href="javascript:;" title="不太如意">2</a></li>
                    <li><a href="javascript:;" title="还不错">3</a></li>
                    <li><a href="javascript:;" title="好">4</a></li>
                    <li><a href="javascript:;" title="很好">5</a></li>
                </ul>
                <span class="hint"></span>
                <input type="hidden" name="likegrade" value="">
            </div>
        </body>
    </html>
  • 相关阅读:
    linux所有命令失效的解决办法
    第一章 网络基础知识
    RNQOJ 数列
    RNQOJ Jam的计数法
    RNQOJ 开心的金明
    RQNOJ 明明的随机数
    分类讨论的技巧
    Unity 碰撞检测
    Unity --yield return
    Unity 移动方式总结
  • 原文地址:https://www.cnblogs.com/mofish/p/2989314.html
Copyright © 2020-2023  润新知