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

如何编写JS函数实现两张图片显隐切换并同步跳转链接功能

图片切换功能修正方案

现有代码核心问题为DOM选择器不匹配:JS 中使用getElementById获取元素,但 HTML 里的两个图片容器仅设置了 class 属性,未添加对应 id 属性,导致切换逻辑无法触发。修复后即可实现点击切换图片显示状态、同步对应跳转链接的需求,完整修正代码如下:


代码示例

HTML 代码

<a href="[皮尔夫城堡入口图跳转地址]" target="_blank">
  <div id="PilafHQ" class="PilafHQ">
    <img src="Images/Pilaf Castle Entrance cropped.png" alt="Pilaf castle entrance" width="250" height="250">
  </div>
</a>
<a href="[Altaf 广告图跳转地址]" target="_blank">
  <div id="altafsung" class="altafsung">
    <img src="Images/Altaf Bazaar Advert.png" alt="Altaf Sunglasses" width="250" height="250">
  </div>
</a>
<img src="Images/walkingbear.gif" alt="行走的北极熊" onclick="revealHQ();">

CSS 代码

.altafsung {
  border-radius: 15px;
  overflow: hidden;
  perspective: 1px;
  position: absolute;
  right: 0%;
  display: block;
}

.PilafHQ {
  border-radius: 15px;
  overflow: hidden;
  perspective: 1px;
  position: absolute;
  right: 0%;
  display: none;
}

JavaScript 代码

function revealHQ() {
  var pilaf = document.getElementById('PilafHQ');
  var altaf = document.getElementById('altafsung');
  // 获取当前altaf元素的显示状态
  var displaySetting = altaf.style.display;
  if (displaySetting == 'block') {
    // altaf可见时隐藏,显示pilaf
    altaf.style.display = 'none';
    pilaf.style.display = 'block';
  } else {
    // altaf隐藏时显示,隐藏pilaf
    altaf.style.display = 'block';
    pilaf.style.display = 'none';
  }
}

如果需要进一步简化结构,也可以改为单个a标签承载跳转,切换图片的同时直接修改a标签的href属性,减少冗余DOM节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:15:04