首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用两个按钮显示/隐藏div

使用两个按钮显示/隐藏div
EN

Stack Overflow用户
提问于 2018-02-28 16:57:52
回答 1查看 263关注 0票数 0

我有两个按钮createChatWindowopenSettings。每个按钮显示一个div。我想让div在被点击的时候隐藏起来。我的问题是,当我在其他地方单击时,div是关闭的,但另一个是显示的。

下面是我的html:

代码语言:javascript
复制
<div class="chat-threads" id="chat-threads">
    <button class="top-bar-btn create"
            (click)="createChatWindow()">
      <i class="fa fa-pencil-square-o"></i>
    </button>

    <button class="top-bar-btn settings"
            (click)="openSettings()">
      <i class="fa fa-cog"></i>
    </button>

    <div id="outside" (click)="hide()"></div>
</div>

和我的.ts:

代码语言:javascript
复制
hide(): void {
  document.getElementById('outside').style.display = 'none';
  document.getElementById('chat-threads').classList.toggle('display-settings');
  document.getElementById('chat-threads').classList.toggle('display-new-chat-window');
}

openSettings(): void {
  document.getElementById('outside').style.display = 'block';
  document.getElementById('chat-threads').classList.toggle('display-settings');
}

createChatWindow(): void {
  document.getElementById('outside').style.display = 'block';
  document.getElementById('chat-threads').classList.toggle('display-new-chat-window');
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-28 17:08:49

单击外部时,因此在hide()函数中,不要使用toggle,而要使用remove

代码语言:javascript
复制
hide(): void {
  document.getElementById('outside').style.display = 'none';
  document.getElementById('chat-threads').classList.remove('display-settings');
  document.getElementById('chat-threads').classList.remove('display-new-chat-window');
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49025508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档