当前位置:首页 > JavaScript

js实现 hover

2026-04-06 19:22:04JavaScript

实现 hover 效果的方法

在 JavaScript 中实现 hover 效果可以通过监听鼠标事件或结合 CSS 伪类来实现。以下是几种常见的方法:

使用 CSS 伪类

CSS 的 :hover 伪类是最简单的方式,无需 JavaScript:

js实现 hover

.element:hover {
  background-color: #f0f0f0;
  color: #000;
}

使用 JavaScript 事件监听

通过 JavaScript 监听 mouseentermouseleave 事件动态修改样式:

const element = document.querySelector('.element');
element.addEventListener('mouseenter', () => {
  element.style.backgroundColor = '#f0f0f0';
  element.style.color = '#000';
});
element.addEventListener('mouseleave', () => {
  element.style.backgroundColor = '';
  element.style.color = '';
});

动态添加/移除 CSS 类

结合 CSS 和 JavaScript,通过添加或移除类名实现 hover 效果:

js实现 hover

.element-hover {
  background-color: #f0f0f0;
  color: #000;
}
const element = document.querySelector('.element');
element.addEventListener('mouseenter', () => {
  element.classList.add('element-hover');
});
element.addEventListener('mouseleave', () => {
  element.classList.remove('element-hover');
});

使用 onmouseoveronmouseout 属性

直接在 HTML 元素上绑定事件:

<div 
  class="element" 
  onmouseover="this.style.backgroundColor='#f0f0f0'" 
  onmouseout="this.style.backgroundColor=''">
  Hover me
</div>

使用 CSS 变量和 JavaScript

通过 JavaScript 动态修改 CSS 变量实现 hover 效果:

.element {
  --hover-bg: #f0f0f0;
  --hover-color: #000;
}
.element:hover {
  background-color: var(--hover-bg);
  color: var(--hover-color);
}
const element = document.querySelector('.element');
element.style.setProperty('--hover-bg', '#f0f0f0');
element.style.setProperty('--hover-color', '#000');

注意事项

  • CSS 伪类性能更好,优先推荐使用。
  • JavaScript 方式适合需要动态控制或复杂交互的场景。
  • 避免在频繁触发的回调中执行复杂逻辑,可能导致性能问题。

标签: jshover
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…

vue.js 实现弹窗

vue.js 实现弹窗

Vue.js 实现弹窗的方法 使用组件化方式创建弹窗 创建一个独立的弹窗组件(如 Modal.vue),通过 v-if 或 v-show 控制显示隐藏。组件内包含弹窗的模板、样式和逻辑。 <t…