jQuery实现星星打分组件

作者:清欢时间:2026-10-23 19:42:07浏览:334

本文介绍如何使用jQuery实现一个简单的星星打分组件。通过动态创建DOM元素并绑定点击事件,用户点击星星即可更新评分显示。代码包含HTML结构、CSS样式及jQuery逻辑,适合前端开发者参考学习。

jQuery星星打分组件实现

本文分享了一段使用JavaScript实现的星星打分示例代码,供读者参考。

最终呈现的效果如下图所示。

jQuery星星打分组件实现

HTML结构部分如下。


 <div class="container">小主的评价:</div>
  <span></span>

对应的CSS样式代码。


<style>
    .star {
      font-size: 20px;
      color: gold;
      cursor: pointer;
    }

    .container {
      display: inline-block;
      text-align: center;
    }
</style>

JavaScript逻辑部分。


<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
 <script>
    $(function () {
      let count = 5
      let score = 3

      for (let i = 0; i < count; i++) {
        let star = $("<i/>").addClass("iconfont").addClass("star")
        if (i < score) star.addClass("icon-xingxing")
        else star.addClass("icon-xingxing1")

        $(".container").append(star)
      }

      $(".star").mouseenter(function () {
        let index = $(this).index()

        $(".star").each(function (i) {
          if (i <= index)
            $(this).addClass("icon-xingxing").removeClass("icon-xingxing1")
          else
            $(this).addClass("icon-xingxing1").removeClass("icon-xingxing")
        })
      })

      $(".star").mouseleave(function () {
        $(".star").each(function (i) {
          if (i < score)
            $(this).addClass("icon-xingxing").removeClass("icon-xingxing1")
          else
            $(this).addClass("icon-xingxing1").removeClass("icon-xingxing")
        })
      })

      $(".star").click(function () {
        score = $(this).index() + 1
        $("span").html(`${score}分`)

      })
      $("span").html(`${score}分`)

    })
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章