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 相关文章推荐
window.location.hash 属性使用说明
Mar 20 Javascript
Javascript 中的 &amp;&amp; 和 || 使用小结
Apr 25 Javascript
jquery获取下拉列表的值为null的解决方法
Mar 18 Javascript
MooTools 页面滚动浮动层智能定位实现代码
Aug 23 Javascript
bootstrap data与jquery .data
Jul 07 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
jQuery的ajax下载blob文件
Jul 21 Javascript
JS实现的Unicode编码转换操作示例
Apr 28 Javascript
vue父组件向子组件传递多个数据的实例
Mar 01 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
May 28 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 12 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编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
php Calender(日历)代码分享
2014/01/03 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python3写入文件常用方法实例分析
2015/05/22 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
Python简易版图书管理系统
2019/08/12 Python
django之自定义软删除Model的方法
2019/08/14 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
python 实现dict转json并保存文件
2019/12/05 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
校本教研工作制度
2014/01/22 职场文书
女子职高个人自荐书
2014/02/01 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
典型事迹材料范文
2014/12/29 职场文书
支行行长岗位职责
2015/02/15 职场文书
城南旧事读书笔记
2015/06/29 职场文书
z-index不起作用
2021/03/31 HTML / CSS
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏