【发布时间】:2013-12-03 07:18:34
【问题描述】:
我的 DOM 中有两个单独的元素,当其中一个元素悬停时需要更改。当链接悬停时,图像 src 需要更改(简单)并且链接颜色需要更改。当图像悬停时,需要发生相同的效果(图像 src 更改 & 链接颜色更改)
这实际上很容易做到,但我觉得有一种比我正在采用的方法更容易做到的方法。目前,我正在浏览 8 个元素中的每一个,并测试它们是否单独悬停。这很好用,但这里的 jQuery 比我认为的要多得多。
我尝试将属性 onmouseover 添加到两个元素并触发相同的功能,但由于某种原因该功能没有触发。
有没有办法测试任何一个元素是否悬停并在其中一个悬停时触发功能?像这样的:
if($(#elm1).hover() || $('#elm2').hover()) {
//effect here
}
或
if($('#elm1').is(':hover') || $('#elm2').is(':hover')) {
//effect here
}
我尝试了上面的示例代码,但没有得到任何结果。有没有办法做到这一点,还是我坚持检查每个单独的元素?
【问题讨论】:
-
var isHovered = $('#elem').is(":hover");返回布尔值
-
当你执行 hover() 并检查
.hovered时,为什么不添加像hovered这样的类:) -
因为我猜 jQuery 已经存储了那个状态,让它加倍不会有任何好处
-
var isHovered的东西不起作用,因为我仍然需要单独检查 8 个不同的元素。我正在尝试在同一个函数中检查链接和图像。
标签: javascript jquery hover conditional mouseover