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

如何实现点击按钮切换div内容,重复点击当前按钮清空div?

实现点击按钮切换/清空内容的功能

你的现有代码已经完成了内容切换的基础功能,但缺少对当前激活状态的跟踪,所以无法识别是否重复点击了同一个按钮。下面是修改后的完整方案,同时我还修正了原代码里的一个拼写错误(getElementbyId应该是getElementById,注意大写的B):

修改后的HTML代码

<button onclick="changeNavigation('bl1')">Techniker</button>
<button onclick="changeNavigation('bl2')">Übersetzer</button>
<button onclick="changeNavigation('bl3')">Qualitychecker</button>
<div id="text_content"></div>
<div id="bl1">
  <p>This is text 1</p>
</div>
<div id="bl2">
  <p>This is text 2</p>
</div>
<div id="bl3">
  <p>This is text 3</p>
</div>

修改后的JavaScript代码

// 新增变量跟踪当前显示内容的ID
let currentActiveId = '';

function changeNavigation(id) {
  const targetDiv = document.getElementById('text_content');
  const sourceDiv = document.getElementById(id);
  
  // 判断是否点击的是当前激活的按钮
  if (id === currentActiveId) {
    // 清空内容并重置激活状态
    targetDiv.innerHTML = '';
    currentActiveId = '';
  } else {
    // 切换内容并更新激活状态
    targetDiv.innerHTML = sourceDiv.innerHTML;
    currentActiveId = id;
  }
}

功能说明

  • 首次点击任意按钮:将对应div的内容填充到text_content中,同时记录该按钮对应的ID为当前激活状态
  • 再次点击同一个按钮:清空text_content的内容,并重置激活状态
  • 点击其他按钮:切换为对应按钮的内容,更新激活状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:33:26