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 相关文章推荐
JQuery 浮动导航栏实现代码
Aug 27 Javascript
12个非常有创意的JavaScript小游戏
Mar 18 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 Javascript
jQuery获取对象简单实现方法小结
Oct 30 Javascript
javascript实现动态标签云
Oct 16 Javascript
javascript针对不确定函数的执行方法
Dec 16 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
react-router实现跳转传值的方法示例
May 27 Javascript
angular ng-click防止重复提交实例
Jun 16 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
详解js根据百度地图提供经纬度计算两点距离
May 13 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中大括号作用介绍
2012/03/22 PHP
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
详解Python的三种拷贝方式
2020/02/11 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
小学课外阅读总结
2014/07/09 职场文书
工程部岗位职责范本
2015/04/11 职场文书
2016年母亲节寄语
2015/12/04 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL