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

如何让鼠标悬停效果作用于两张重叠图片?

解决方案

问题核心是顶层图片遮挡了底层图片和父容器的hover检测,同时背景缺少缩放的过渡效果。可以通过以下调整实现同步变化:

关键修改点

  • 将hover触发目标从单个图片改为父容器:当鼠标进入父容器范围时,两张图片同时触发透明度变化,避免顶层图片遮挡导致底层无响应。
  • 给父容器添加背景缩放的过渡效果,配合原有鼠标跟随的背景定位,实现完整的缩放交互。
  • 修复zoom函数中的offsetY赋值错误,确保鼠标位置计算正确。

完整代码

<div class="overlay transparent" onmousemove="zoom(event)"
  style="background-image: url(https://i.pinimg.com/originals/2b/de/de/2bdede0647e3cdf75b44ea33723201d9.jpg)">
  <img src="https://i.pinimg.com/originals/2b/de/de/2bdede0647e3cdf75b44ea33723201d9.jpg" />
  <img src="https://media.nomadicmatt.com/2023/tropicalislandsfeature.jpg" />
</div>

<style>
  div.transparent {
    height: 150px;
    width: 250px;
    overflow: hidden;
    cursor: zoom-in;
    /* 新增:背景过渡效果,包含缩放和位置 */
    transition: background-size 0.5s, background-position 0.3s;
    background-size: 100%; /* 默认背景尺寸 */
    background-repeat: no-repeat;
  }

  /* 修改:父容器hover时,所有图片同步变透明 */
  div.transparent:hover img {
    opacity: 0;
  }

  div.transparent img {
    transition: opacity 0.5s;
    display: block;
    width: 100%;
  }

  div.overlay {
    position: relative;
    display: inline-block;
  }

  div.overlay img:nth-child(1) {
    position: relative;
    object-fit: contain;
    z-index: 1;
  }

  div.overlay img:nth-child(2) {
    position: absolute;
    object-fit: contain;
    top: 0;
    left: 0;
    z-index: 2;
  }

  /* 新增:父容器hover时背景缩放 */
  div.transparent:hover {
    background-size: 120%;
  }
</style>

<script>
 function zoom(e) {
    var zoomer = e.currentTarget;
    // 修复offsetY的赋值错误
    const offsetX = e.offsetX ? e.offsetX : e.touches[0].pageX;
    const offsetY = e.offsetY ? e.offsetY : e.touches[0].pageY;
    const x = offsetX / zoomer.offsetWidth * 100;
    const y = offsetY / zoomer.offsetHeight * 100;
    zoomer.style.backgroundPosition = `${x}% ${y}%`;
 }
</script>

效果说明

  • 鼠标进入容器区域时,两张图片同时逐渐透明,背景图片以鼠标位置为中心放大。
  • 鼠标在容器内移动时,背景图片会跟随鼠标位置调整显示中心,实现聚焦缩放的效果。
  • 所有过渡动画保持0.5秒的平滑时长,交互体验更连贯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:50:40