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

如何实现按钮首次点击显示Ad、再次点击显示Content的功能?

问题分析与修复

你的代码逻辑存在问题:每次点击按钮时,先把ads设为true,紧接着的if判断会立刻隐藏广告、显示内容,导致首次点击也看不到广告,直接跳转到内容。

修复方案

我们需要用状态变量记录当前是首次点击还是后续点击,首次点击显示广告,之后点击固定显示内容。

修正后的HTML(结构不变)

<div>
  <button class="btn">Click Me</button>
  <h1 style="display: none" class="ad">Ad</h1>
  <h1 style="display: none" class="cnt">Content</h1>
</div>

修正后的JavaScript

const btn = document.querySelector('.btn');
const ad = document.querySelector('.ad');
const cnt = document.querySelector('.cnt');

let hasClickedOnce = false; // 记录是否已经点击过一次

btn.addEventListener('click', () => {
  if (!hasClickedOnce) {
    // 首次点击:显示广告,隐藏内容
    ad.style.display = 'block';
    cnt.style.display = 'none';
    hasClickedOnce = true;
  } else {
    // 非首次点击:隐藏广告,显示内容
    ad.style.display = 'none';
    cnt.style.display = 'block';
  }
});

逻辑说明

  • hasClickedOnce初始为false,表示还未点击过按钮
  • 首次点击时,进入if分支:显示广告,将状态标记为已点击过一次
  • 之后每次点击,进入else分支:隐藏广告,显示内容,确保后续点击不再展示广告

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:35:23