You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

鼠标悬停特定div时显示新元素及调整其他元素透明度的实现咨询

实现方案

不用Observer,直接通过鼠标事件监听就能搞定这个交互,毕竟是hover触发的状态切换,事件监听比Observer更直接高效。

1. HTML结构设计

把所有气泡放在一个容器里,给“business rules”气泡单独加标识,关联的新气泡默认隐藏,放在目标气泡附近:

<div class="bubbles-container">
  <div class="bubble">气泡A</div>
  <div class="bubble">气泡B</div>
  <div id="business-rules" class="bubble">business rules</div>
  <!-- 关联新气泡,默认隐藏 -->
  <div class="sub-bubble hidden">关联气泡1</div>
  <div class="sub-bubble hidden">关联气泡2</div>
</div>

2. CSS样式配置

  • 基础气泡样式自定义,加上过渡动画让状态切换更丝滑
  • 用.hidden类隐藏新气泡,.dimmed类实现其他气泡的低透明度效果:
.bubbles-container {
  position: relative;
  width: 600px;
  height: 400px;
}
.bubble {
  width: 120px;
  height: 60px;
  background: #2563eb;
  border-radius: 30px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.sub-bubble {
  width: 90px;
  height: 45px;
  background: #16a34a;
  border-radius: 22px;
  color: #fff;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
/* 隐藏新气泡的类 */
.hidden {
  opacity: 0;
  pointer-events: none;
}
/* 其他气泡变暗的类 */
.dimmed {
  opacity: 0.3;
}

3. JavaScript事件逻辑

给“business rules”气泡绑定mouseover和mouseout事件,切换对应类的状态:

const targetBubble = document.getElementById('business-rules');
const allBubbles = document.querySelectorAll('.bubble');
const subBubbles = document.querySelectorAll('.sub-bubble');

// 鼠标悬停时的逻辑
targetBubble.addEventListener('mouseover', () => {
  allBubbles.forEach(bubble => {
    if (bubble !== targetBubble) bubble.classList.add('dimmed');
  });
  subBubbles.forEach(sub => sub.classList.remove('hidden'));
});

// 鼠标离开时的逻辑
targetBubble.addEventListener('mouseout', () => {
  allBubbles.forEach(bubble => bubble.classList.remove('dimmed'));
  subBubbles.forEach(sub => sub.classList.add('hidden'));
});

补充注意点

如果你的气泡是图片上的热点区域,把<div>换成<map>+<area>标签定义可hover区域就行,事件逻辑完全通用,只需要调整新气泡的定位坐标即可。

内容的提问来源于stack exchange,提问作者cricciardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:05:32