JavaScript实现星级评价效果


Posted in Javascript onMay 17, 2019

本文实例为大家分享了js实现星级评价效果展示的具体代码,供大家参考,具体内容如下

背景图片实现

图片是width:36px; height:25px;

背景是白色,中间一个空的五角星,空的边缘有一像素的边框;(不然就看不到了);

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>星级评价(可半星)</title>
 <style>
  .xin{height: 25px; background: url(images/x.png); position: relative; display: inline-block;}
  .xin span{display: block; height: 25px; background: #f60; position: absolute; left: 0; top: 0;z-index: -1;transition: 0.2s;}
  .xin ul{position: absolute; top: 0; left: 0; height: 25px; margin: 0; padding: 0; list-style: none;}
  .xin ul li{float: left; width: 18px; height: 25px;}
  .fensu{display: inline-block;}
 </style>
</head>
<body>
 <input type="hidden" title="10" value="3.5">
 <input type="hidden" title="5" value="1.5">
 <script>
  var input=document.querySelectorAll("input[type=hidden]");
  input.forEach(function(_input){
   var Div=document.createElement("div");
   Div.className="xin";
   Div.style.width=18*(_input.title || 5)*2 + "px";
   _input.parentNode.insertBefore(Div,_input);
   var span=document.createElement("span");
   span.style.width=(_input.value)*36+"px";
   var p=document.createElement("p");
   p.innerHTML=_input.value+"分";
   p.className="fensu";
   Div.parentNode.insertBefore(p,Div);
   Div.parentNode.insertBefore(Div,p);
   Div.appendChild(span);
   var ul=document.createElement("ul");
   Div.appendChild(ul);
   for(var i=0;i<(_input.title || 5)*2;i++){
    var li=document.createElement("li");
    li.title=(i+1)/2+"分";
    ul.appendChild(li);
   }
   var LI=ul.querySelectorAll("li");
   LI.forEach(function(_li,x){
    _li.onclick=function(){
     _input.value=(x+1)/2;
     span.style.width=18*(x+1)+"px";
     p.innerHTML=_input.value+"分";
    }
    _li.onmouseover=function(){
     span.style.width=18*(x+1)+"px";
    }
    _li.onmouseout=function(){
     span.style.width=(_input.value)*36+"px";
    }
   })
   var br=document.createElement("br");
   p.parentNode.insertBefore(br,p);
   p.parentNode.insertBefore(p,br);
  })
 </script>
</body>
</html>

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

Javascript 相关文章推荐
jQuery 常见学习网站与参考书
Nov 09 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
Mar 14 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
Jun 01 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
Jun 09 Javascript
JS查找数组中重复元素的方法详解
Jun 14 Javascript
Angular4 ElementRef的应用
Feb 26 Javascript
vue使用监听实现全选反选功能
Jul 06 Javascript
create-react-app安装出错问题解决方法
Sep 04 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
vue router 跳转时打开新页面的示例方法
Jul 28 Javascript
JavaScript实现轮播图片完整代码
Mar 07 Javascript
通过实例解析jQ Ajax操作相关原理
Sep 23 Javascript
JavaScript实现美化滑块效果
May 17 #Javascript
vue中使用mxgraph的方法实例代码详解
May 17 #Javascript
vue中引入mxGraph的步骤详解
May 17 #Javascript
微信小程序云开发 搭建一个管理小程序
May 17 #Javascript
微信小程序云开发实现增删改查功能
May 17 #Javascript
微信小程序云开发实现云数据库读写权限
May 17 #Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 #Javascript
You might like
解析php入库和出库
2013/06/25 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
jquery each()源代码
2011/02/14 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
python 实现归并排序算法
2012/06/05 Python
Python实现的一个简单LRU cache
2014/09/26 Python
Python中如何获取类属性的列表
2016/12/26 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
ipad上运行python的方法步骤
2019/10/12 Python
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
拒绝黄毒毒宣传标语
2014/06/26 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
《叶问2》观后感
2015/06/15 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
篮球拉拉队口号
2015/12/25 职场文书
js之ajax文件上传
2021/05/13 Javascript
代码解析React中setState同步和异步问题
2021/06/03 Javascript
Python实现为PDF去除水印的示例代码
2022/04/03 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js