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 相关文章推荐
ext 代码生成器
Aug 07 Javascript
JQUERY dialog的用法详细解析
Dec 19 Javascript
一看就懂:jsonp详解
Jun 01 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
JavaScript实现Fly Bird小游戏
Dec 15 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
Jan 03 Javascript
详解使用nvm安装node.js
Jul 18 Javascript
vue router使用query和params传参的使用和区别
Nov 13 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
layui table设置前台过滤转义等方法
Aug 17 Javascript
微信小程序实现底部导航
Nov 05 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 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(2)
2006/10/09 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
理解javascript中的闭包
2017/01/11 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
vue实现拖拽效果
2019/12/23 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
python实现逆波兰计算表达式实例详解
2015/05/06 Python
查看python下OpenCV版本的方法
2018/08/03 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python实现人工蜂群算法
2020/09/18 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
大学生村官典型材料
2014/01/12 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
物理学专业求职信
2014/07/04 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
技术转让协议书
2016/03/19 职场文书