小星星評分的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.交流群: 2702237 13835667

相關課文
  • JS如何防止父節點的事件運行

  • nodejs編寫一個簡單的http請求客戶耑代碼demo

  • 說一則爲什麽後耑開發人員不選擇node.js的原因

  • 使用Sublime Text3 開發React-Native的配置

我要說說
網上賓友點評