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 tools之tabs 选项卡/页签
Jul 25 Javascript
jQuery each()方法的使用方法
Mar 18 Javascript
精通Javascript系列之数据类型 字符串
Jun 08 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
jquery制做精致的倒计时特效
Jun 13 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
js实现动态显示时间效果
Mar 06 Javascript
javascript实现下雨效果
Mar 27 Javascript
对vue中methods互相调用的方法详解
Aug 30 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
详解webpack打包第三方类库的正确姿势
Oct 20 Javascript
vue 实现 rem 布局或vw 布局的方法
Nov 13 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 手机归属地查询 api
2010/02/08 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
jQuery 位置插件
2008/12/25 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
深入理解node.js http模块
2018/01/24 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
微信跳一跳自动运行python脚本
2018/01/08 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
python实现发送邮件
2021/03/02 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
追悼会主持词
2014/03/20 职场文书
人资专员岗位职责
2014/04/04 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
交通事故被告代理词
2015/05/23 职场文书
电影建党伟业观后感
2015/06/01 职场文书
中秋联欢会主持词
2015/07/04 职场文书
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers