Ty *_*ley 2 javascript jquery conditional mouseover hover
我的DOM中有两个独立的元素,当任何一个悬停时需要更改.链接悬停时,图像src需要更改(简单)并且链接颜色需要更改.当图像悬停时,需要发生相同的效果(图像src更改和链接颜色更改)
这实际上很容易做到,但我觉得有一种更简单的方法来做我接受的方法.目前,我正在浏览8个元素中的每一个,并测试它们是否单独悬停.这很好用,但这里有更多的jQuery,而不是我应该有的.
我尝试将属性添加onmouseover到两个元素并触发相同的功能,但由于某种原因,该功能未触发.
有没有办法测试是否有任何一个元素悬停并触发一个函数,如果有的话?像这样的东西:
if($(#elm1).hover() || $('#elm2').hover()) {
//effect here
}
Run Code Online (Sandbox Code Playgroud)
要么
if($('#elm1').is(':hover') || $('#elm2').is(':hover')) {
//effect here
}
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的示例代码,但没有得到任何结果.有没有办法做到这一点,还是我坚持检查每个单独的元素?
它可以工作,你只是在页面加载时运行它,而不是在鼠标移动时
$(document).mousemove(function() {
if($('#elm1').is(':hover') || $('#elm2').is(':hover')) {
// Do stuff
}
else {
// Revert do stuff or do other stuff
}
});
Run Code Online (Sandbox Code Playgroud)
但是,正如其他人所说,jQuery已经知道了hover状态,所以这样做是不必要的.实际上,您应该使用相同的选择器将函数应用于它
$('#idOne, #idTwo').hover(function() { /* Do stuff */ });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13777 次 |
| 最近记录: |