当前位置:首页 > JavaScript

js实现隔行

2026-01-31 17:12:52JavaScript

隔行变色实现方法

使用JavaScript实现表格或列表的隔行变色效果,可以通过以下方式完成:

方法一:纯JavaScript实现

// 获取所有需要隔行的元素(如tr或li)
const rows = document.querySelectorAll('tr'); 

// 遍历元素并设置样式
for (let i = 0; i < rows.length; i++) {
  if (i % 2 === 0) {
    rows[i].style.backgroundColor = '#f2f2f2';
  } else {
    rows[i].style.backgroundColor = '#ffffff';
  }
}

方法二:动态添加CSS类

const items = document.querySelectorAll('.list-item');

items.forEach((item, index) => {
  item.classList.add(index % 2 === 0 ? 'even-row' : 'odd-row');
});

对应CSS:

.even-row { background-color: #f5f5f5; }
.odd-row { background-color: #ffffff; }

动态数据场景处理

当数据动态加载时,需要重新应用隔行样式:

function applyStriping() {
  const dynamicRows = document.querySelectorAll('.dynamic-content');

  dynamicRows.forEach((row, i) => {
    row.style.backgroundColor = i % 2 ? '#f8f8f8' : '#ffffff';
  });
}

// 数据更新后调用
applyStriping();

响应式表格处理

对于可能发生排序或过滤的表格:

function stripeTable(table) {
  const visibleRows = Array.from(table.querySelectorAll('tr:not(.hidden)'));

  visibleRows.forEach((row, index) => {
    row.className = index % 2 ? 'odd' : 'even';
  });
}

// 表格变化时调用
document.querySelector('table').addEventListener('sort', () => {
  stripeTable(document.querySelector('table'));
});

CSS-only替代方案

虽然使用JavaScript更灵活,但纯CSS也能实现基本效果:

js实现隔行

tr:nth-child(even) { background: #f2f2f2; }
tr:nth-child(odd) { background: #ffffff; }

选择JavaScript方案的主要优势在于可以处理更复杂的逻辑,如动态过滤后的重新着色,或根据其他条件而非简单的奇偶行来设置样式。

标签: js
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现拖拽

js 实现拖拽

实现拖拽的基本步骤 在JavaScript中实现拖拽功能需要监听几个关键事件:mousedown、mousemove和mouseup。以下是实现的基本逻辑。 监听目标元素的mousedown事件,记…

js实现弹框

js实现弹框

使用 alert 实现简单弹框 JavaScript 的 alert 方法可以直接显示一个简单的弹框,内容为纯文本: alert("这是一个简单的弹框"); 使用 confirm 实现确认弹框…