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 相关文章推荐
面向对象的Javascript之一(初识Javascript)
Jan 20 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
jQuery上传插件webupload使用方法
Aug 01 jQuery
vue修改vue项目运行端口号的方法
Aug 04 Javascript
JS实现匀加速与匀减速运动的方法示例
Sep 04 Javascript
react以create-react-app为基础创建项目
Mar 14 Javascript
Iview Table组件中各种组件扩展的使用
Oct 20 Javascript
JavaScript实现更换背景图片
Oct 18 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
杏林同学录(四)
2006/10/09 PHP
超级简单的php+mysql留言本源码
2009/11/11 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
PHP7 windows支持
2021/03/09 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
jQuery实现监控页面所有ajax请求的方法
2015/12/10 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
jQuery AJAX应用实例总结
2020/05/19 jQuery
vue实现户籍管理系统
2020/05/29 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
python 绘制场景热力图的示例
2020/09/23 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
高中生学习生活的自我评价
2013/11/27 职场文书
行政主管职责范本
2014/03/07 职场文书
仓库管理计划书
2014/05/04 职场文书