javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法


Posted in Javascript onMay 14, 2015

本文实例讲述了javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Table间隔色以及选择高亮(和动态切换数据)</title>
<script type="text/javascript">
var Datas1 = {
  "李莫": "毕业于清华大学",
  "周平": "毕业于北京大学",
  "罗达": "毕业于哈尔滨大学",
  "郑朵": "毕业于河南大学",
  "王天": "毕业于湖南大学"
};
var Datas2 = {
  "三水点靠木": "https://3water.com",
  "搜狐网": "http://www.souhu.com",
  "CSDN程序员开发网站": "http://www.csdn.net",
  "百度": "http://www.baidu.com",
  "网易": "http://www.163.com"
};
function ToggleData() {
  var btn = document.getElementById("btnToggle");
  if (btn.value == "数据1") {
    loadData(Datas1, "数据2");
  }
  else {
    loadData(Datas2, "数据1");
  }
}
function loadData(Datas,btnValue) {
  var tblMain = document.getElementById("tblMain");
  //清空table数据
  var trs = tblMain.getElementsByTagName("tr");
  var trsLen = trs.length;
  //必须先把trs的长度存放到一个变量中
  for (var i = 0; i < trsLen; i++) {
    tblMain.deleteRow(0);
  }
  var nIndex = 0;
  for (var key in Datas) {
    var tr = tblMain.insertRow(-1);
    tr.onmouseover = trMouseOver;
    tr.onmouseout = trMouseOut;
    var td1 = tr.insertCell(-1);
    td1.innerHTML = key;
    var td2 = tr.insertCell(-1);
    td2.innerHTML = Datas[key];
    if (nIndex % 2 == 0) { //设置间隔色
      tr.style.background = "yellow";
    }
    else {
      tr.style.background = "white";
    }
    nIndex++;
  }
  var btn = document.getElementById("btnToggle");
  btn.value = btnValue;
}
function trMouseOver() {
  var tblMain = document.getElementById("tblMain");
  //清空数据
  var trs = tblMain.getElementsByTagName("tr");
  for (var i = 0; i < trs.length; i++) {      
    if (this == trs[i]) {
      trs[i].style.background = "green";
    }
  }
}
function trMouseOut() {
  var tblMain = document.getElementById("tblMain");
  var trs = tblMain.getElementsByTagName("tr");
  for (var i = 0; i < trs.length; i++) {
    if (i % 2 ==0) {
      trs[i].style.background = "yellow";
    }
    else {
      trs[i].style.background = "white";
    }
  }      
}
function iniEvent() {
  loadData(Datas1, "数据2");
}
</script>
</head>
<body onload="iniEvent()">
<table id="tblMain">
<tbody></tbody>
</table>
<input type ="button" id="btnToggle" value="数据2"
onclick="ToggleData()" />
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript中String类的subString()方法和slice()方法
May 24 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
jQuery Ajax File Upload实例源码
Dec 12 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
Dec 28 Javascript
layer弹出层自定义提交取消按钮的例子
Sep 10 Javascript
layui实现checkbox的目录树tree的例子
Sep 12 Javascript
vue实现多级菜单效果
Oct 19 Javascript
微信小程序实现带放大效果的轮播图
May 26 Javascript
详解JavaScript数据类型和判断方法
Sep 04 Javascript
JavaScript实现复选框全选功能
Apr 11 Javascript
javascript清空table表格的方法
May 14 #Javascript
AngularJS的内置过滤器详解
May 14 #Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 #Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 #Javascript
javascript基于DOM实现权限选择实例分析
May 14 #Javascript
javascript中DOM复选框选择用法实例
May 14 #Javascript
JS对字符串编码的几种方式使用指南
May 14 #Javascript
You might like
php4的session功能评述(一)
2006/10/09 PHP
php给图片加文字水印
2015/07/31 PHP
PHPMailer发送邮件
2016/12/28 PHP
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
大学四年的个人自我评价
2014/01/14 职场文书
数学教学随笔感言
2014/02/17 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
个人投资合作协议书
2014/10/12 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL