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 相关文章推荐
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
28个JS验证函数收集
Mar 02 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
各浏览器对document.getElementById等方法的实现差异解析
Dec 05 Javascript
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
javascript基于DOM实现权限选择实例分析
May 14 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
Apr 02 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 GD绘制24小时柱状图
2008/06/28 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
Python yield与实现方法代码分析
2018/02/06 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
python中get和post有什么区别
2020/06/19 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
如何获得EntityManager
2014/02/09 面试题
婚礼证婚人证婚词
2014/01/13 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏