桂林一枝花 发表于 2017-1-15 00:32:00

分享一个原生js实现的五星评分

转至博客园 昵称:森林长 链接: 传送门 其实五星评分在电商系统可以说是很普遍。实现的方式也五分八门,各种写法都有
<!DOCTYPE html>
<html>
<head>
    <title>JavaScript星级评分</title>
    <style type="text/css">
    *{margin:0;padding:0;}
    .wrapper{height:20px;padding:5px;width:130px;margin:100px auto 10px;}
    tr,td{font-size:66px;color:#000000;background:#ffffff;}
    </style>
    <script type="text/javascript">
      function ArrayIndexOf(arr, element) {
            for (var i = 0; i < arr.length; i++) {
                if (arr == element) {
                  return i;
                }
            }
            return -1;
      }
      function GetTds() {
            var tbl = document.getElementById("tblMain");
            var tds = tbl.getElementsByTagName("td");
            return tds;
      }
      function InitEvent() {
         var tds=GetTds();
         for (var i = 0; i < tds.length; i++) {
               var td = tds;
               td.onmouseover = TdOnclick;
               td.style.cursor = "pointer";

            }
      }
      function TdOnclick() {
            var tds = GetTds();
            var index = ArrayIndexOf(tds, this);
            for (var i = 0; i <=index; i++) {
                var td = tds;
                td.innerHTML = "★";
            }
            for (var j = index + 1; j < tds.length; j++) {
                var td = tds;
                td.innerHTML = "☆";
            }
      }
   
    </script>
</head>
<bodyclass="wrapper">
<table id="tblMain">
<tr><td>☆</td><td>☆</td><td>☆</td><td>☆</td><td>☆</td></tr>
</table>
</body>
</html>

ibcadmin 发表于 2017-1-16 14:04:22

+1
页: [1]
查看完整版本: 分享一个原生js实现的五星评分