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的执行过程(图文)
May 20 Javascript
javascript Event对象详解及使用示例
Nov 22 Javascript
jquery 鼠标滑动显示详情应用示例
Jan 24 Javascript
jquery validate 自定义验证方法介绍 日期验证
Feb 27 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
浅析Bootstrap表格的使用
Jun 23 Javascript
vue-cli的webpack模板项目配置文件分析
Apr 01 Javascript
bootstrap响应式表格实例详解
May 15 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
react组件基本用法示例小结
Apr 27 Javascript
vue v-model的用法解析
Oct 19 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 AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
PHP7 list() 函数修改
2021/03/09 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python 支付整合开发包的实现
2019/01/23 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
快速创建python 虚拟环境
2020/11/28 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
市优秀教师事迹材料
2014/02/05 职场文书
企业理念标语
2014/06/09 职场文书
高三复习计划
2015/01/19 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
Python+Appium新手教程
2021/04/17 Python
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android