javascript - 如何在鼠标悬停时向菜单项添加和删除类
问题描述
当鼠标悬停在菜单项上时,我想向菜单项添加和删除“悬停打开”类。我尝试的代码是将鼠标悬停在单个项目上时将类添加到所有菜单项。
menu-bar.component.html
<ul>
<li (mouseover)="changeStyle()" (mouseout)="changeStyle()" [className]="hovered ? 'hover-open nav-item':'nav-item'"><a href="#">Link 1</a></li>
<li (mouseover)="changeStyle()" (mouseout)="changeStyle()" [className]="hovered ? 'hover-open nav-item':'nav-item'"><a href="#">Link 2</a></li>
<li (mouseover)="changeStyle()" (mouseout)="changeStyle()" [className]="hovered ? 'hover-open nav-item':'nav-item'"><a href="#">Link 3</a></li>
<li (mouseover)="changeStyle()" (mouseout)="changeStyle()" [className]="hovered ? 'hover-open nav-item':'nav-item'"><a href="#">Link 4</a></li>
</ul>
菜单栏.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-menu-bar',
templateUrl: './menu-bar.component.html'
})
export class MenuBarComponent implements OnInit {
constructor() { }
ngOnInit() {
}
hovered = false;
changeStyle($event) {
this.hovered = !this.hovered;
}
}
解决方案
使用 CSS :hover伪类,它会工作。
CSS:
li: hover{
write down style which you want to apply
}
推荐阅读
- locking - 我可以从服务结构中的可靠字典中获取没有锁的项目吗
- python - 在离线模式下使用 Python 3.4 创建 Anaconda 4.5 环境?
- mockito - 如何将 @Before 方法中的 Mockito 1.x 模拟设置迁移到 Mockito 2.x?
- vb.net - dotNet Google DoubleClickBidManager API createQuery 失败
- r - 如何在 R 中的(多个)子组中对行进行采样而不进行替换
- c# - 如何使用 FluentAPI 添加等效的 OwnedAttribute?
- c - 访问已声明函数的参数
- javascript - 更改数组中选定项目的颜色
- r - 使用 R 下载 kaggle 数据集
- python-3.x - 如何在 python 3 Google App Engine 标准环境中进行后台工作?