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

发布时间 - 2026-01-11 03:18:07    点击率:

本文实例讲述了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表格(table)操作技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

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


# JavaScript  # 斑马线  # 表格  # 隔行变色  # JS控制表格隔行变色  # 原生JS操作网页给p元素添加onclick事件及表格隔行变色  # javascript实现table表格隔行变色的方法  # 高效的表格行背景隔行变色及选定高亮的JS代码  # javascript表格隔行变色加鼠标移入移出及点击效果的方法  # 纯css+js写的一个简单的tab标签页带样式  # 最简单纯JavaScript实现Tab标签页切换的方式(推荐)  # js与jquery分别实现tab标签页功能的方法  # js封装tab标签页实例分享  # JavaScript实现的原生态Tab标签页功能【兼容IE6】  # JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】  # 遍历  # 的是  # 相关内容  # 有很多  # 感兴趣  # 数据结构  # 给大家  # 很不错  # 不支持  # 看一下  # 更多关于  # 所述  # 程序设计  # 设置成  # 判断是否  # 性也  # 实现了  # 操作技巧  # 讲述了  # Venue 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现文件上传和存储?(本地与S3配置)  大型企业网站制作流程,做网站需要注册公司吗?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何自定义错误页面(404, 500)?(代码示例)  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何在万网自助建站中设置域名及备案?  Laravel Docker环境搭建教程_Laravel Sail使用指南  jQuery中的100个技巧汇总  微信h5制作网站有哪些,免费微信H5页面制作工具?  5种Android数据存储方式汇总  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何登录建站主机?访问步骤全解析  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Windows Hello人脸识别突然无法使用  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  高端建站如何打造兼具美学与转化的品牌官网?  SQL查询语句优化的实用方法总结  手机软键盘弹出时影响布局的解决方法  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  详解Oracle修改字段类型方法总结  Laravel中的Facade(门面)到底是什么原理  无锡营销型网站制作公司,无锡网选车牌流程?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel如何生成URL和重定向?(路由助手函数)  如何快速使用云服务器搭建个人网站?  如何批量查询域名的建站时间记录?  简历没回改:利用AI润色让你的文字更专业  JavaScript实现Fly Bird小游戏  js实现获取鼠标当前的位置  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何快速启动建站代理加盟业务?  linux top下的 minerd 木马清除方法  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  网站制作报价单模板图片,小松挖机官方网站报价?  详解CentOS6.5 安装 MySQL5.1.71的方法  北京企业网站设计制作公司,北京铁路集团官方网站?