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

JS使用addEventListener实现点击子菜单项替换主区域内容如何实现?

实现方案

你只需要在现有代码的基础上,补充子菜单点击后的内容同步逻辑即可,具体修改如下:

1. 新增主展示区DOM元素获取

首先提前拿到需要替换内容的主展示区节点,在现有变量声明部分添加以下代码:

// 原有变量声明保留,新增以下两行
const mainCryptoImg = document.querySelector(".row-left > img");
const mainCryptoName = document.querySelector(".row-left-text h3");

2. 修改子菜单点击事件逻辑

在原有crypto-list的点击循环绑定逻辑中,新增内容替换的代码,修改后的完整循环逻辑如下:

for (let i = 0; i < crypto.length; i++) {
  crypto[i].addEventListener("click", function () {
    // 新增:读取当前点击子项的内容
    const selectedImg = this.querySelector(".list-image img").src;
    const selectedName = this.querySelector(".crypto-text h5").textContent;
    // 新增:同步替换主展示区内容
    mainCryptoImg.src = selectedImg;
    mainCryptoName.textContent = selectedName;

    // 原有菜单切换逻辑保留不变
    if (!menuOpen) {
      hide.classList.remove("hidden");
      menuOpen = true;
    } else {
      hide.classList.add("hidden");
      menuOpen = false;
    }
  });
}

补充说明

如果你的子菜单图片使用的是相对路径,直接读取src属性赋值也可以正常生效,不需要额外处理路径问题。如果后续需要同步展示加密货币全称(子项p标签内的Ether等内容),只需要按照同样的逻辑获取对应节点内容,赋值到主展示区的对应位置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:09:02