小星星评分的css和js代码实现

字号+ 编辑: 国内TP粉 修订: 种花家 来源: ThinkPHP 2023-09-10 我要说两句(0)

小星星评分实现的代码。

实现起来很灵活,代码如下:

<style>
    .star span{
        font-size: 2em;
        cursor: pointer;
    }
    .star .red{
        color: red;
    }
</style>

<h3>示例1:</h3>
<div class="star exp1">
    <span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
    <i></i>
    <input type="hidden" name="star" value="1">
</div>
<div class="star exp6">
    <span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
    <i></i>
    <input type="hidden" name="star" value="3">
</div>
<div class="star exp4">
    <span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
    <i></i>
    <input type="hidden" name="star" value="5">
</div>
<div class="star exp5">
    <span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
    <i></i>
    <input type="hidden" name="star" value="7">
</div>
<h3>示例2:</h3>
<div class="star exp2">
    <span>W</span><span>W</span><span>W</span><span>.</span><span>E</span><span>B</span><span>C</span><span>M</span><span>S</span><span>.</span><span>C</span><span>O</span><span>M</span>
    <i></i>
    <input type="hidden" name="star" value="3">
</div>
<h3>示例3:</h3>
<div class="star exp3">
    <span>易</span><span>贝</span><span>内</span><span>容</span><span>管</span><span>理</span><span>系</span><span>统</span><span>,</span><span>基</span><span>于</span><span>T</span><span>P</span><span>5</span><span>开</span><span>发</span><span>!</span>
    <i></i>
    <input type="hidden" name="star" value="3">
</div>

<script>
    $(function() {
        function stars(selecter){
            var stars = $(selecter + ' span');
            var star_tips_dom = $(selecter + ' i');
            var star_dom = $(selecter + '');
            var star_input_dom = $(selecter + ' input');
            stars.mouseover(function() {
                var ind = $(this).index();
                $.each(stars, function(index, val) {
                    if ($(this).index() <= ind) {
                        $(this).addClass('red');
                    }else{
                        $(this).removeClass('red');
                    }
                });
                star_tips_dom.html(ind + 1 + ' 分');
            });
            stars.bind('click', function(event) {
                star_input_dom.val($(this).index()+1);
            });
            star_dom.mouseout(function() {
                var ind = star_input_dom.val();
                $.each(stars, function(index, val) {
                    if ($(this).index() < ind) {
                        $(this).addClass('red');
                    }else{
                        $(this).removeClass('red');
                    }
                });
                star_tips_dom.html(ind + ' 分');
            });
            // 初始化
            stars.eq(Number(star_input_dom.val())-1).trigger('mouseout');
        }
        stars('.exp1');
        stars('.exp2');
        stars('.exp3');
        stars('.exp4');
        stars('.exp5');
        stars('.exp6');
        stars('.exp7');
    });
</script>


阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.Q群: 2702237 13835667

相关课文
  • JS如何防止父节点的事件运行

  • nodejs编写一个简单的http请求客户端代码demo

  • 说一则为什么后端开发人员不选择node.js的原因

  • 使用Sublime Text3 开发React-Native的配置

我要说说
网上嘉宾点评