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 相关文章推荐
JavaScript 动态生成方法的例子
Jul 22 Javascript
jQuery实现的导航条切换可显示隐藏
Oct 22 Javascript
推荐一款jQuery插件模板
Jan 09 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 Javascript
js中获取键盘事件的简单实现方法
Oct 10 Javascript
详解Vue用axios发送post请求自动set cookie
May 10 Javascript
electron中使用bootstrap的示例代码
Nov 06 Javascript
微信小程序全局变量改变监听的实现方法
Jul 15 Javascript
一篇文章看懂JavaScript中的回调
Jan 05 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 Javascript
vue2实现provide inject传递响应式
May 21 Vue.js
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截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python递归查询菜单并转换成json实例
2017/03/27 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
临床医学专业学生的自我评价分享
2013/11/21 职场文书
西式婚礼主持词
2014/03/13 职场文书
项目投资合作意向书
2014/07/29 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
五好家庭事迹材料
2014/12/20 职场文书
保研导师推荐信
2015/03/25 职场文书
电影建党伟业观后感
2015/06/01 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏