当前位置:首页 > JavaScript

js实现hover

2026-03-15 04:30:01JavaScript

使用CSS实现hover效果

在CSS中直接使用:hover伪类是最简单的方法,无需JavaScript。例如改变链接颜色:

a:hover {
  color: red;
  text-decoration: underline;
}

使用JavaScript监听mouseover/mouseout事件

通过添加事件监听器实现类似效果:

const element = document.getElementById('hoverElement');
element.addEventListener('mouseover', function() {
  this.style.backgroundColor = 'yellow';
});
element.addEventListener('mouseout', function() {
  this.style.backgroundColor = '';
});

使用classList切换CSS类

更推荐的做法是通过切换CSS类来实现样式变化:

js实现hover

const box = document.querySelector('.box');
box.addEventListener('mouseenter', () => {
  box.classList.add('hover-active');
});
box.addEventListener('mouseleave', () => {
  box.classList.remove('hover-active');
});

对应CSS:

.box.hover-active {
  transform: scale(1.1);
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

实现延迟显示效果

结合setTimeout实现悬停延迟显示:

js实现hover

let hoverTimer;
element.addEventListener('mouseover', () => {
  hoverTimer = setTimeout(() => {
    element.style.opacity = '0.8';
  }, 300);
});
element.addEventListener('mouseout', () => {
  clearTimeout(hoverTimer);
  element.style.opacity = '1';
});

事件委托处理动态元素

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

document.body.addEventListener('mouseover', function(e) {
  if(e.target.classList.contains('dynamic-item')) {
    e.target.style.border = '2px solid blue';
  }
});

结合CSS变量实现主题切换

通过JavaScript修改CSS变量实现主题切换:

document.documentElement.addEventListener('mouseover', (e) => {
  if(e.target.matches('.theme-item')) {
    document.documentElement.style.setProperty('--hover-color', e.target.dataset.color);
  }
});

标签: jshover
分享给朋友:

相关文章

js实现跳转

js实现跳转

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

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…