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如何操作JSON类型的数据库字段?(Eloquent示例)  如何快速查询域名建站关键信息?  黑客如何通过漏洞一步步攻陷网站服务器?  油猴 教程,油猴搜脚本为什么会网页无法显示?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  JS经典正则表达式笔试题汇总  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel如何配置Horizon来管理队列?(安装和使用)  如何在阿里云完成域名注册与建站?  Android Socket接口实现即时通讯实例代码  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何用PHP快速搭建高效网站?分步指南  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Python并发异常传播_错误处理解析【教程】  简单实现jsp分页  Laravel如何优化应用性能?(缓存和优化命令)  如何在IIS中新建站点并配置端口与IP地址?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  如何快速搭建个人网站并优化SEO?  详解Oracle修改字段类型方法总结  php 三元运算符实例详细介绍  公司网站制作需要多少钱,找人做公司网站需要多少钱?  html如何与html链接_实现多个HTML页面互相链接【互相】  javascript中对象的定义、使用以及对象和原型链操作小结  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  黑客入侵网站服务器的常见手法有哪些?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  javascript如何操作浏览器历史记录_怎样实现无刷新导航  高端建站如何打造兼具美学与转化的品牌官网?  Android 常见的图片加载框架详细介绍  Laravel如何使用模型观察者?(Observer代码示例)  JavaScript如何操作视频_媒体API怎么控制播放  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  香港服务器租用费用高吗?如何避免常见误区?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何用已有域名快速搭建网站?  如何在建站主机中优化服务器配置?  如何选择PHP开源工具快速搭建网站?  详解Android图表 MPAndroidChart折线图  如何实现建站之星域名转发设置?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践