JavaScript实现的斑马线表格效果【隔行变色】


Posted in Javascript onSeptember 18, 2017

本文实例讲述了JavaScript实现的斑马线表格效果。分享给大家供大家参考,具体如下:

虽然现在有很多框架可以轻松的实现斑马线效果,而且兼容性也很不错,比如bootstrap,但是不可否认的是使用JavaScript实现的是兼容性最强的(浏览器不支持或禁止JavaScript脚本除外),所以今天使用原生JS实现了一个斑马线效果的表格,大家可以简单看一下,如果有需要可以留做脚本积累。

html表格部分:

<table>
  <thead>
  <tr>
    <th>Date</th>
    <th>City</th>
    <th>Venue</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>2017-06-25</td>
    <td>
      <abbr title="BeiJing">BJ</abbr>
    </td>
    <td>Ballroom</td>
  </tr>
  <tr>
    <td>2017-08-02</td>
    <td>
      <abbr title="ShangHai">SH</abbr>
    </td>
    <td>Yoyoyo</td>
  </tr>
  <tr>
    <td>2017-11-30</td>
    <td>
      <abbr title="HangZhou">HZ</abbr>
    </td>
    <td>NOW~</td>
  </tr>
  <tr>
    <td>2017-11-30</td>
    <td>
      <abbr title="HangZhou">HZ</abbr>
    </td>
    <td>NOW~</td>
  </tr>
  <tr>
    <td>2017-11-30</td>
    <td>
      <abbr title="ShiJiaZhuang">SJZ</abbr>
    </td>
    <td>NOW~</td>
  </tr>
  </tbody>
</table>

script.js

function addClass(element, value) {//element:需要添加新样式的元素,value:新的样式
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName += " ";
    newClassName += value;
    element.className = newClassName;
  }
}
function stripeTable(){
  if(!document.getElementsByTagName("table")) return false;
  /*获取table*/
  var table = document.getElementsByTagName("table");
  /*遍历 为所有表格添加*/
  for(var i=0;i<table.length;i++){
    /*判断是否为奇数行
    * 将第一行设置成true
    * */
    var odd = true;
    var tr = table[i].getElementsByTagName("tr");
    /*遍历表格中的每一行*/
    for(var j=0;j<tr.length;j++){
      if(odd){
        addClass(tr[j],"stripe");
        /*将下一行设置称false*/
        odd = false;
      }else{
        /*将下一行设置称true*/
        odd = true;
      }
    }
  }
}

css部分:

* {
  margin: 0;
  padding: 0;
}
.stripe{
  background-color: #eee;
}

完整index.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>javascript斑马线表格</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    .stripe{
      background-color: #eee;
    }
  </style>
<script src="script.js"></script>
</head>
<body>
<table>
  <thead>
  <tr>
    <th>Date</th>
    <th>City</th>
    <th>Venue</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>2017-06-25</td>
    <td>
      <abbr title="BeiJing">BJ</abbr>
    </td>
    <td>Ballroom</td>
  </tr>
  <tr>
    <td>2017-08-02</td>
    <td>
      <abbr title="ShangHai">SH</abbr>
    </td>
    <td>Yoyoyo</td>
  </tr>
  <tr>
    <td>2017-11-30</td>
    <td>
      <abbr title="HangZhou">HZ</abbr>
    </td>
    <td>NOW~</td>
  </tr>
  <tr>
    <td>2017-11-30</td>
    <td>
      <abbr title="HangZhou">HZ</abbr>
    </td>
    <td>NOW~</td>
  </tr>
  <tr>
    <td>2017-11-30</td>
    <td>
      <abbr title="ShiJiaZhuang">SJZ</abbr>
    </td>
    <td>NOW~</td>
  </tr>
  </tbody>
</table>
<script>
stripeTable();
</script>
</body>
</html>

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

Javascript 相关文章推荐
javascript中的对象创建 实例附注释
Feb 08 Javascript
JS隐藏参数post传值实例
Apr 18 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
Mar 31 Javascript
JS输出空格的简单实现方法
Sep 08 Javascript
js判断价格,必须为数字且不能为负数的实现方法
Oct 07 Javascript
js获取元素的标签名实现方法
Oct 08 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
Feb 16 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
微信小程序如何获取手机验证码
Nov 04 Javascript
js实现可以点击收缩或张开的悬浮窗
Sep 18 #Javascript
javascript流程控制语句集合
Sep 18 #Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 #Javascript
Angular中的$watch方法详解
Sep 18 #Javascript
jQuery实现的表格前端排序功能示例
Sep 18 #jQuery
node.js中使用Export和Import的方法
Sep 18 #Javascript
inner join 内联与left join 左联的实例代码
Sep 18 #Javascript
You might like
Terran兵种对照表
2020/03/14 星际争霸
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
newxtree.js代码
2007/03/13 Javascript
javascript 二分法(数组array)
2010/04/24 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
node.js的事件机制
2017/02/08 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
python操作xml文件详细介绍
2014/06/09 Python
python对字典进行排序实例
2014/09/25 Python
使用graphics.py实现2048小游戏
2015/03/10 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
企业宣传标语
2014/06/09 职场文书
年终晚会活动方案
2014/08/21 职场文书
个人委托书怎么写
2014/09/17 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
秋季运动会加油词
2015/07/18 职场文书
党性修养心得体会2016
2016/01/21 职场文书
Python如何让字典保持有序排列
2022/04/29 Python