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 相关文章推荐
jquery实现弹出div,始终显示在屏幕正中间的简单实例
Mar 08 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
轻松实现javascript数据双向绑定
Nov 11 Javascript
Javascript removeChild()删除节点及删除子节点的方法
Dec 27 Javascript
js编写一个简单的产品放大效果代码
Jun 27 Javascript
js canvas实现擦除动画
Jul 16 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
May 17 Javascript
代码分析vue中如何配置less
Sep 28 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
微信小程序配置服务器提示验证token失败的解决方法
Apr 03 Javascript
ES6对象操作实例详解
May 23 Javascript
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
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
全文搜索和替换
2006/10/09 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
JavaScript 不只是脚本
2007/05/30 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
深入探究node之Transform
2017/07/20 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
对python 命令的-u参数详解
2018/12/03 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Python 字典中的所有方法及用法
2020/06/10 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
德国电子商城:ComputerUniverse
2017/04/21 全球购物
个人简历中的自我评价怎么写
2014/01/26 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
安踏广告词改编版
2014/03/21 职场文书
董事长助理工作职责
2014/06/08 职场文书
考研复习计划
2015/01/19 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书