【发布时间】:2020-09-15 03:36:21
【问题描述】:
我已经编写了以下脚本,并且运行良好。
function LogoHoverAdd() {
this.classList.add("logo__container--hover");
}
function LogoHoverRemove() {
this.classList.remove("logo__container--hover");
}
var logo = document.querySelector("h1");
logo.addEventListener("mouseover", LogoHoverAdd);
logo.addEventListener("mouseout", LogoHoverRemove);
我认为,这种方法效率很低,因为我必须实现其中的一些事件侦听器。因此,我试图通过将它放在一起或使用ClassList Toggle 函数来缩短它。不幸的是,它还没有起作用。
如何写好这段代码?
[[我没有使用jquery。]]
【问题讨论】:
-
你能分享一下 HTML 吗?听起来你根本不需要 JS,CSS 有一个内置的悬停检测
h1:hover如果你真正想做的只是在悬停时添加一些样式,那么你只需要。 -
我看不出您当前的代码有什么特别的问题。我唯一要改变的是使用
mouseenter事件而不是mouseover -
好的,我试试
mouseenter。顺便说一句,我已经缩短了代码,所以我必须在同一个函数中执行一些其他任务。 -
我的目标是使用“ToggleClass(classname)”函数来最小化代码行。但我不明白....
-
你的目标是围绕这两个事件监听器编写漂亮的 Javascript 吗?
标签: javascript html css class