当前位置:首页 > JavaScript

js实现高亮切换

2026-03-15 19:53:40JavaScript

实现高亮切换的 JavaScript 方法

方法一:通过类名切换高亮样式

通过添加或移除 CSS 类名实现高亮效果。定义一个高亮样式类(如 .highlight),通过 classList.toggle() 切换。

// CSS 样式
.highlight {
  background-color: yellow;
  color: black;
}

// JavaScript 代码
function toggleHighlight(element) {
  element.classList.toggle('highlight');
}

// 调用示例
document.querySelector('.target-element').addEventListener('click', function() {
  toggleHighlight(this);
});

方法二:动态修改内联样式

直接通过 JavaScript 修改元素的 style 属性,适用于需要动态计算高亮颜色的场景。

js实现高亮切换

function toggleHighlight(element) {
  const currentColor = element.style.backgroundColor;
  element.style.backgroundColor = currentColor === 'yellow' ? '' : 'yellow';
}

// 调用示例
document.querySelector('.target-element').addEventListener('click', function() {
  toggleHighlight(this);
});

方法三:多元素高亮切换(单选/多选模式)

实现多个元素中单选或多选的高亮效果。以下示例为单选模式:

js实现高亮切换

function setupHighlightGroup(selector) {
  const elements = document.querySelectorAll(selector);
  elements.forEach(el => {
    el.addEventListener('click', function() {
      elements.forEach(item => item.classList.remove('highlight'));
      this.classList.add('highlight');
    });
  });
}

// 调用示例
setupHighlightGroup('.highlight-group-item');

方法四:使用数据属性存储状态

通过 data-* 属性存储高亮状态,适合复杂交互场景。

function toggleHighlightWithData(element) {
  const isHighlighted = element.dataset.highlighted === 'true';
  element.dataset.highlighted = !isHighlighted;
  element.style.backgroundColor = isHighlighted ? '' : 'yellow';
}

// 调用示例
document.querySelector('.target-element').addEventListener('click', function() {
  toggleHighlightWithData(this);
});

注意事项

  1. 性能优化:批量操作 DOM 时使用 documentFragment 或减少重绘
  2. 可访问性:高亮时考虑添加 aria-selected 等 ARIA 属性
  3. 动画效果:可通过 CSS transition 添加平滑的高亮过渡效果
.highlight {
  background-color: yellow;
  transition: background-color 0.3s ease;
}

以上方法可根据具体需求选择使用,类名切换是最推荐的方式,因其实现了样式与行为的良好分离。

标签: js高亮
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…