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

如何仅为左侧边栏特定类别对应的相邻图片添加点击触发的hover效果

实现方案

步骤1:补全「精选推荐」模块结构

现有代码中Top_Picks容器为空,先补全与其他侧边栏选项一致的结构:

<div className="Offer__Sidebar">
  <div className="Offers_Near_You">
    <img className="Offer__img" src="https://res.cloudinary.com/swiggy/image/upload/fl_lossy,f_auto,q_auto,w_90,h_90/hxizld3pqhnk0smw27sl" />
    <div className="Offer__div">
      <div>Offers Near You</div>
      <p>211 OPTIONS</p>
    </div>
  </div>
  <div className="Top_Picks">
    <img className="Offer__img" src="【这里替换为精选推荐对应的图标地址】" />
    <div className="Offer__div">
      <div>Top Picks</div>
      <p>【对应选项数量】</p>
    </div>
  </div>
  <div className="Whats_New">
    <!-- 后续模块结构同上 -->
  </div>
  <div className="Vegeterian_Options">
    <!-- 后续模块结构同上 -->
  </div>
  <div className="See_All">
    <!-- 后续模块结构同上 -->
  </div>
</div>

步骤2:添加样式与交互逻辑

场景1:鼠标悬浮在「精选推荐」区域时仅图片生效

使用CSS精准命中目标元素即可,不会影响文本样式:

.Top_Picks:hover .Offer__img {
  /* 此处替换为你需要的悬浮效果,以下为示例 */
  border: 2px solid #fc8019;
  border-radius: 8px;
  transform: scale(1.05);
  transition: all 0.2s ease;
}

场景2:点击「精选推荐」后保持图片选中效果

先添加JS绑定点击事件,实现选中状态切换:

const topPicksNode = document.querySelector('.Top_Picks');
topPicksNode.addEventListener('click', () => {
  // 如需排他选中,可先移除所有侧边栏选项的active类
  document.querySelectorAll('.Offer__Sidebar > div').forEach(item => {
    item.classList.remove('active');
  })
  topPicksNode.classList.toggle('active');
})

再添加对应的CSS样式:

.Top_Picks.active .Offer__img {
  /* 此处替换为你需要的选中效果,以下为示例 */
  border: 2px solid #fc8019;
  border-radius: 8px;
  transform: scale(1.05);
  transition: all 0.2s ease;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:36:09