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显示随机图像或引用
Apr 21 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
Feb 27 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
Jun 29 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 Javascript
angular实现IM聊天图片发送实例
May 08 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
Dec 31 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
vue实现抽屉弹窗效果
Nov 15 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
Access数据库导入Mysql的方法之一
2006/10/09 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
解读Python中degrees()方法的使用
2015/05/18 Python
python如何读写csv数据
2018/03/21 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
python操作gitlab API过程解析
2019/12/27 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
Linux常见面试题
2013/03/18 面试题
2014年小班元旦活动方案
2014/02/16 职场文书
法定代表人授权委托书
2014/09/19 职场文书
英文导游词
2015/02/13 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2015年女工委工作总结
2015/07/27 职场文书
五年级作文之想象作文
2019/10/30 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript