html - 显示/隐藏多个 Div

标签 html angular typescript

我想使用一些 Li 列表来显示/隐藏多个 div angular2。

该页面最初将显示所有 div。当小屏幕我隐藏一些div 在小屏幕当我点击列表1 如何显示特定的Div

<li><i class="fa fa-location-arrow" aria-hidden="true" (click)="showDiv(1)"></i>Locator</li>
<li><i class="fa fa-gift" aria-hidden="true" (click)="showDiv(2)"></i>Offer</li>
<li><i class="fa fa-phone" aria-hidden="true" (click)="showDiv(3)"></i> Contact</li>
<li><i class="fa fa-calendar" aria-hidden="true" (click)="showDiv(4)"></i>Holiday</li>
<li><i class="fa fa-question-circle-o" aria-hidden="true" (click)="showDiv(4)"></i>FAQ</li>

<div id="div1" *ngIf="windowWidth > 767">Lorum Ipsum</div>
<div id="div2" *ngIf="windowWidth > 767">Lorum Ipsum</div>
<div id="div3" *ngIf="windowWidth > 767">Lorum Ipsum</div>
<div id="div4" *ngIf="windowWidth > 767">Lorum Ipsum</div>

文件.ts:

windowWidth: number = window.innerWidth;

  //initial values, The window object may still be undefined during this hook, let me know if that's the case and we'll figure out a better hook for the initial value
  ngAfterViewInit() {
      this.windowWidth = window.innerWidth;
  }

  //if screen size changes it'll update
  @HostListener('window:resize', ['$event'])
  resize(event) {
      this.windowWidth = window.innerWidth;
  }

最佳答案

class MyComponent {
  selectedIndex = -1;

  showDiv(index) {
    this.selectedIndex = index;
  }
}
<li><i class="fa fa-location-arrow" aria-hidden="true" (click)="showDiv(1)"></i>Locator</li>
<li><i class="fa fa-gift" aria-hidden="true" (click)="showDiv(2)"></i>Offer</li>
<li><i class="fa fa-phone" aria-hidden="true" (click)="showDiv(3)"></i> Contact</li>
<li><i class="fa fa-calendar" aria-hidden="true" (click)="showDiv(4)"></i>Holiday</li>
<li><i class="fa fa-question-circle-o" aria-hidden="true" (click)="showDiv(4)"></i>FAQ</li>

<div id="div1" *ngIf="windowWidth > 767 && selectedIndex === 1">Lorum Ipsum</div>
<div id="div2" *ngIf="windowWidth > 767 && selectedIndex === 2">Lorum Ipsum</div>
<div id="div3" *ngIf="windowWidth > 767 && selectedIndex === 3">Lorum Ipsum</div>
<div id="div4" *ngIf="windowWidth > 767 && selectedIndex === 4">Lorum Ipsum</div>

关于html - 显示/隐藏多个 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41757704/

相关文章:

php - 与服务相关的事件正确显示

javascript - 如何将数据保留在本地 html 文件 meme 奖励网页中以允许计数器永久保留?

javascript - 是否有正确的方法将对象键名称映射到更可读的表示形式?

sqlite - SQLiteObject ionic 3 的插入提供程序

javascript - 尽管导出,Angular 仍无法识别导入模块中的组件

javascript - 带有 Angular 形式输入的 ngModelOptions

javascript - 为什么函数参数类型不匹配时 TypeScript 不会抛出错误?

html - 这段代码如何返回 bool 类型?

javascript - 使用 Javascript DOM 的 CSS 悬停

angular - ionic2 rc0 中找不到组件工厂错误