js实现商城星星评分的效果


Posted in Javascript onDecember 29, 2015

在这里和朋友们分享一个使用js实现商城星星评分的效果,希望能给大家点帮助,当然更好的特效还有待大家完善。

html如下:

<div class="starts">
  <ul id="pingStar">
    <li rel="1" title="特别差,给1分"></li>
    <li rel="2" title="很差,给2分"></li>
    <li rel="3" title="一般般,给3分"></li>
    <li rel="4" title="很好,给4分"></li>
    <li rel="5" title="非常好,给5分"></li>
    <span id="dir"></span>
  </ul>
  <input type="hidden" value="" id="startP">
</div>

css样式:

.starts,.starts ul{float:left;}
.starts{padding-left:16px;padding-top:7px;}
.starts ul li{width:32px;height:31px;float:left;background:#ddd;padding-right:3px;}
.starts ul li.on{background:red;}
.starts ul span{display:inline;float:left;padding-left:10px;height:31px;line-height:31px;}

最后js调用如下:

window.onload = function () {
  var s = document.getElementById("pingStar"),
    m = document.getElementById('dir'),
    n = s.getElementsByTagName("li"),
    input = document.getElementById('startP'); //保存所选值
  clearAll = function () {
    for (var i = 0; i < n.length; i++) {
      n[i].className = '';
    }
  }
  for (var i = 0; i < n.length; i++) {
    n[i].onclick = function () {
      var q = this.getAttribute("rel");
      clearAll();
      input.value = q;
      for (var i = 0; i < q; i++) {
        n[i].className = 'on';
      }
      m.innerHTML = this.getAttribute("title");
    }
    n[i].onmouseover = function () {
      var q = this.getAttribute("rel");
      clearAll();
      for (var i = 0; i < q; i++) {
        n[i].className = 'on';
      }
    }
    n[i].onmouseout = function () {
      clearAll();
      for (var i = 0; i < input.value; i++) {
        n[i].className = 'on';
      }
    }
  }
}

以上就是本文的全部内容,希望对大家的学习jquery程序设计有所帮助。

Javascript 相关文章推荐
js获取当前月的第一天和最后一天的小例子
Nov 18 Javascript
javascript 终止函数执行操作
Feb 14 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
May 06 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
Dec 13 Javascript
bootstrap组件之导航组件使用方法
Jan 19 Javascript
angular实现IM聊天图片发送实例
May 08 Javascript
Angular获取手机验证码实现移动端登录注册功能
May 17 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
详解Vue路由钩子及应用场景(小结)
Nov 07 Javascript
JS实现数组深拷贝的方法分析
Mar 06 Javascript
vscode 插件开发 + vue的操作方法
Jun 05 Javascript
原生js配合cookie制作保存路径的拖拽
Dec 29 #Javascript
一种新的javascript对象创建方式Object.create()
Dec 28 #Javascript
JavaScrip常见的一些算法总结
Dec 28 #Javascript
简单介绍JavaScript数据类型之隐式类型转换
Dec 28 #Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
Dec 28 #Javascript
Bootstrap实现响应式导航栏效果
Dec 28 #Javascript
基于jQuery实现选取月份插件附源码下载
Dec 28 #Javascript
You might like
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
PHP生成唯一订单号
2015/07/05 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
Python里隐藏的“禅”
2014/06/16 Python
python 异常处理总结
2016/10/18 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
Python读取word文本操作详解
2018/01/22 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
Django框架models使用group by详解
2020/03/11 Python
大学生创业项目方案
2014/03/08 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers