当前位置:首页 > JavaScript

js点击实现高亮

2026-03-16 07:22:44JavaScript

实现点击高亮的基本方法

使用JavaScript实现点击元素高亮效果,可以通过添加/移除CSS类或直接修改样式属性完成。以下是两种常见实现方式:

通过classList切换类

document.querySelector('.target-element').addEventListener('click', function() {
  this.classList.toggle('highlight');
});

配套CSS样式:

.highlight {
  background-color: yellow;
  box-shadow: 0 0 8px rgba(255,255,0,0.6);
}

直接修改style属性

js点击实现高亮

element.addEventListener('click', function() {
  this.style.backgroundColor = this.style.backgroundColor === 'yellow' ? '' : 'yellow';
});

多元素高亮控制

需要实现多个元素中仅高亮当前点击项时,可先清除其他元素的高亮状态:

const items = document.querySelectorAll('.item');
items.forEach(item => {
  item.addEventListener('click', function() {
    items.forEach(i => i.classList.remove('active'));
    this.classList.add('active');
  });
});

动态元素的事件委托

对于动态生成的元素,建议使用事件委托:

js点击实现高亮

document.body.addEventListener('click', function(e) {
  if (e.target.matches('.highlightable')) {
    e.target.classList.toggle('highlight');
  }
});

高亮动画增强

添加过渡效果使高亮更平滑:

.highlight {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

高亮状态持久化

如需保持高亮状态,可使用localStorage:

element.addEventListener('click', function() {
  const isActive = this.classList.toggle('active');
  localStorage.setItem('highlightedItem', isActive ? this.id : '');
});

页面加载时恢复状态:

window.addEventListener('DOMContentLoaded', () => {
  const id = localStorage.getItem('highlightedItem');
  if (id) document.getElementById(id)?.classList.add('active');
});

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

相关文章

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…