js仿淘宝和百度文库的评分功能


Posted in Javascript onMay 15, 2016

本文实例为大家分享了类似于淘宝和百度文库的评分功能,js实现,供大家参考,具体内容如下

效果如图:

js仿淘宝和百度文库的评分功能

五个五角星分别放在了一个table的五列中。下面是一个<p>,用来显示评分结果的;代码如下:

<body onload="changebg()">
 <table border="0" align="center" cellpadding="0" cellspacing="0" id="maintable">
  <tr style=" font-size:30px;">
   <td>☆</td><td>☆</td><td>☆</td><td>☆</td><td>☆</td>
  </tr>
 </table>
 <p align="center" id="result">您评了<label id="score"></label>分</p>

</body>

body的onload事件绑定的是一个方法,js代码如下:

<script type="text/javascript">
  function getindex(arr,element) {  //参数:数组,元素;返回兄弟元素的索引  
   for (var i = 0; i < arr.length; i++) {
    if (arr[i] == element) {
     return i;
    }
   }
   return -1;
  }

  function changebg() {  //为每个td设置获得焦点属性【也可以设置onclick属性】
   var maintable = document.getElementById("maintable");  //获取需要设置的表格
   var tds = maintable.getElementsByTagName("td");   //获取表格下的所有单元格
   document.getElementById("result").style.display = "none"; //设置得分结果为隐藏
   for (var i = 0; i < tds.length; i++) {
    var td = tds[i];
    td.onfocus = getonfocus;
    td.style.cursor = "pointer";
//为了设置鼠标放在五角星上呈手型
   }
    
  }
  function getonfocus(){  //设置td的焦点事件,
   var maintable = document.getElementById("maintable");
   var tds = maintable.getElementsByTagName("td");
   var index = getindex(tds, this);   //返回响应事件的索引 用this代表触发此事件的元素
   document.getElementById("result").style.display = "";  //得到分数后把结果显示出来
   document.getElementById("score").innerText = index + 1;
   for (var i = 0; i < index+1; i++) {
    tds[i].style.color = "red";
   }
   for (var i = index+1; i < tds.length; i++) {
    tds[i].style.color = "black";
   }

  }
 </script>

js代码主要有三个函数构成;

①:changebg();body的onload事件绑定的函数;为了实现对每个td元素绑定onfocus事件;

②:getonfocus();td元素onfocus事件的具体实现;

③:getindex();有两个参数,一个是td元素的集合数组,一个是相应事件的td元素,注意使用this关键字。主要返回相应事件的元素的索引,为了把响应事件元素之前的颜色显示成红色,后面的元素显示成黑色;

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

Javascript 相关文章推荐
游戏人文件夹程序 ver 4.03
Jul 14 Javascript
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
Aug 04 Javascript
简易js代码实现计算器操作
Apr 15 Javascript
全面了解函数声明与函数表达式、变量提升
Aug 09 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
JS从非数组对象转数组的方法小结
Mar 26 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
Feb 15 Javascript
微信小程序实现的picker多级联动功能示例
May 23 Javascript
Element Card 卡片的具体使用
Jul 26 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
Aug 20 Javascript
JavaScript实现移动端拖动元素
Nov 24 Javascript
RequireJS使用注意细节
May 15 #Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 #Javascript
jQuery插件开发汇总
May 15 #Javascript
Javascript的无new构建实例详解
May 15 #Javascript
Javascript基础知识盲点总结之函数
May 15 #Javascript
深入理解$.each和$(selector).each
May 15 #Javascript
js中最容易被忽视的事件问题大总结
May 15 #Javascript
You might like
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
php中请求url的五种方法总结
2017/07/13 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
js 可拖动列表实现代码
2011/12/13 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
python实现Virginia无密钥解密
2019/03/20 Python
Python列表list操作相关知识小结
2020/01/29 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
Java中实现多态的机制是什么?
2014/12/07 面试题
自荐信格式的六要素
2013/09/21 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
家长学校培训材料
2014/08/20 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript