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 相关文章推荐
js 判断脚本加载完毕的代码
Jul 13 Javascript
jQuery如何防止这种冒泡事件发生
Feb 27 Javascript
js实现新浪微博首页效果
Oct 16 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
JS中检测数据类型的几种方式及优缺点小结
Dec 12 Javascript
深入理解Node中的buffer模块
Jun 03 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
你可能不知道的JSON.stringify()详解
Aug 17 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
使用vue完成微信公众号网页小记(推荐)
Apr 28 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 19 Javascript
vue编写简单的购物车功能
Jan 08 Vue.js
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
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php生成rss类用法实例
2015/04/14 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python字符串替换的2种方法
2014/11/30 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Python处理CSV与List的转换方法
2018/04/19 Python
python中的json总结
2018/10/11 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
YUV转为jpg图像的实现
2019/12/09 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
教育科学研究生自荐信
2013/10/09 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android