我的编程空间,编程开发者的网络收藏夹
学习永远不晚

原生Javascript实现五角星评分

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

原生Javascript实现五角星评分

利用原生Javascript实现五角星评分,可以打半分.话不多说先上代码。

html部分

<div class="setStarRate">
        <div class="star">
            <span id="star">
                <li>
                    <a href="javascript:void(0)" οnclick="rateStar(1)"></a>
                    <a href="javascript:void(0)" οnclick="rateStar(2)"></a>
                </li>
                <li>  
                 <a href="javascript:void(0)" οnclick="rateStar(3)"></a>
                  <a href="javascript:void(0)" οnclick="rateStar(4)"></a> 
               </li>
               <li>
                    <a href="javascript:void(0)" οnclick="rateStar(5)"></a>
                    <a href="javascript:void(0)" οnclick="rateStar(6)"></a>
                </li>
                <li>
                    <a href="javascript:void(0)" οnclick="rateStar(7)"></a>
                    <a href="javascript:void(0)" οnclick="rateStar(8)"></a>
                </li>
                <li>
                    <a href="javascript:void(0)" οnclick="rateStar(9)"></a>
                    <a href="javascript:void(0)" οnclick= "rateStar(10)"></a>
                </li>
            </span>
        </div>
        <div class="grade">
            <span id="getStarRate">0.0</span>
    </div>
</div>

CSS部分:

<style>
    .grade span {
        margin-left: 15px;
        line-height: 30px;
    }
 
    span {
        width: 50%;
        height: 70%;
        padding: 0;
        margin: 0 25%;
    }
 
    span li {
        width: 20px;
        height: 20px;
        display: inline-block;
        background: url("") no-repeat;//这里输入灰色状态星星的图片链接
    }
 
    span li a {
        height: 20px;
        width: 10px;
        display: inline-block;
        display: block;
        float: left;
    }
</style>

js部分

function rateStar(index) {
   var star = document.getElementById('star');
   var items = star.getElementsByTagName("li");
       index = parseInt(index) - 1; //因为一个星星由2个a标签组成的,所以减掉1
         var tem = -1;
         //遍历所有的li标签
           for (var i = 0; i < items.length; i++) {
             if (index > i * 2) { //当index大于i*2的时候,就填充i个数量的满格星星
             items[i].style.background = "url() no-repeat";
             items[i].style.backgroundSize = "100% 100%";
             } else {
             if (tem == -1) {
                     tem = i;
                   }
                   items[i].style.background = "url() no-repeat"; //填充灰色状态的星星
                   items[i].style.backgroundSize = "100% 100%";
              }
         }
          //判断index是否等于偶数
           if (index == parseInt(tem) * 2) {
          //当前li元素的背景设置成半格星星状态
         items[tem].style.background = "url() no-repeat";
         items[tem].style.backgroundSize = "100% 100%";
        }
    document.getElementById('getStarRate').innerHTML = (parseInt(index) + 1) * 0.5;
},

运行结果: 

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

原生Javascript实现五角星评分

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

原生javascript实现分享到朋友圈功能 支持ios和android

现在主流的分享工具也有很多,例如JiaThis、bShare分享,甚至一些大公司的如百度分享,但是他们依旧停留在只是在PC端的分享,对手机端的支持不是太好。大家都知道现在很多手机端浏览器都内置了一些分享组件,像UC浏览器、QQ浏览器,内置的
2022-06-06

编程热搜

目录