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

如何使用jQuery/JS实现悬停图片时显示layer-term-name类文本

实现方案

首先明确基础前提:默认状态下.layer-term-name元素为隐藏状态,你可以通过以下两种方案实现需求。

方案1:jQuery实现(适配你的技术栈要求)

步骤1:添加基础样式

/* 控制文本默认隐藏,可根据需求自定义位置、外观样式 */
.layer-term-name {
  display: none;
  /* 示例悬浮提示样式可选:
  position: absolute;
  top: 110%;
  left: 0;
  background: #fff;
  padding: 3px 8px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  */
}
.wc-layered-nav-term .swatch-inner {
  position: relative; /* 配合悬浮提示的定位需求 */
}

步骤2:编写交互逻辑

// 等待DOM加载完成后执行
$(function() {
  // 给带背景图的色板元素绑定鼠标进出事件
  $('.filter-swatch span[style*="background-image"]').on('mouseenter', function() {
    // 查找当前色板对应的文本元素并显示
    $(this).closest('.swatch-inner').find('.layer-term-name').show();
  }).on('mouseleave', function() {
    // 鼠标移出时隐藏文本
    $(this).closest('.swatch-inner').find('.layer-term-name').hide();
  });
});

逻辑说明

  • 选择器精准匹配带背景图的色板元素,避免误绑定其他无关元素
  • 通过closest()查找公共父级再定位对应文本,确保存在多个色板时,不会触发其他色板的文本显示

方案2:纯CSS实现(无需JS,性能更高)

如果没有强制要求用jQuery实现,纯CSS也可以完成相同效果:

.layer-term-name {
  display: none;
  /* 自定义外观样式同上 */
}
/* 利用相邻兄弟选择器,色板悬浮时直接触发对应文本显示 */
.filter-swatch:hover + .layer-term-name {
  display: block;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:30:03