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 相关文章推荐
AJAX使用了UpdatePanel后无法使用alert弹出脚本
Apr 02 Javascript
Jquery 数据选择插件Pickerbox使用介绍
Aug 24 Javascript
javascript中JSON对象与JSON字符串相互转换实例
Jul 11 Javascript
原生js+cookie实现购物车功能的方法分析
Dec 21 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
React+Webpack快速上手指南(小结)
Aug 15 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
Oct 09 Javascript
js函数和this用法实例分析
Mar 13 Javascript
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
详细分析React 表单与事件
Jul 08 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 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
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
Smarty变量用法详解
2016/05/11 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
Shell编程面试题
2012/05/30 面试题
单位门卫岗位职责
2013/12/20 职场文书
甜品店的创业计划书范文
2014/01/02 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
节能环保演讲稿
2014/08/28 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
工作表扬信范文
2015/01/17 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
Django路由层如何获取正确的url
2021/07/15 Python
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技