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 相关文章推荐
js中cookie的使用详细分析
May 28 Javascript
Prototype使用指南之selector.js说明
Oct 26 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
js将json格式内容转换成对象的方法
Nov 01 Javascript
js日期范围初始化得到前一个月日期的方法
May 05 Javascript
jQuery基于扩展简单实现倒计时功能的方法
May 14 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
js实现导航栏中英文切换效果
Jan 16 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 Javascript
vue导航栏部分的动态渲染实例
Nov 01 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
PHP文本数据库的搜索方法
2006/10/09 PHP
在IIS上安装PHP4.0正式版
2006/10/09 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
基于php判断客户端类型
2016/10/14 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
简介Django框架中可使用的各类缓存
2015/07/23 Python
python的unittest测试类代码实例
2017/12/07 Python
Flask之请求钩子的实现
2018/12/23 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
python实现最速下降法
2020/03/24 Python
python怎么调用自己的函数
2020/07/01 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
土木工程专业个人求职信
2013/12/05 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
餐饮营销方案
2014/02/23 职场文书
个人求职信格式范文
2015/03/20 职场文书
浅谈如何保证Mysql主从一致
2022/03/13 MySQL