![](/img/trans.png)
[英]How to affect other elements when one element is hovered (not sibling or parent)
[英]How to make one element get hovered when hover on other element
我需要这样一种场景,如果有人在一个div上悬停,另一个div将被悬停。 就像:
HTML
<div class="box"></div>
<div class="link-box">
<a href="#">Touch the Grey Box and I get hovered!</a>
</div>
CSS:
.link-box a:hover {
color: red;
}
如果有人将鼠标悬停在div.box
,则div.link-box
将会悬停,我的意思是获得红色。 可能吗? 请不要这样说:
.box:hover .link-box a {
color: red;
}
我的情况不是这样。 我的情况比较复杂。 因此,只有使用jQuery才有可能。 由于我不擅长jQuery,因此无法编写脚本。 这就是为什么我需要您的帮助。 jQuery是做什么用的? 可能是这样的吗?
$('.box').hover(function(){
$('.link-box').hover();
});
.............................................. 更新 ... ...............................
所有的答案都与CSS有关。 基本上, div.link-box
在我的网页上是如此复杂,如果有人将鼠标悬停在div.link-box
上, div.link-box
发生许多操作,例如弹出框即将到来, div.link-box
多个子元素将发生变化。 一切都发生在jQuery + CSS上。 当有人将鼠标悬停在div.box
上时,我需要div.link-box
所有悬停动作。 我只是在这里将div.link-box
作为链接,以使您了解我的问题。 但是,基本上不只是CSS更改。 因此,是否有可能像jQuery的div.box
一样,通过将所有div.link-box
悬停动作带到另一个div / button / link div.box
?
只要它们保持相同的布局,就可以在CSS中使用相邻的选择器( +
)。
.link-box a:hover, .box:hover + .link-box a{
color: red;
}
关于adject选择器要记住的重要一点是,两个div必须具有相同的父对象,并且该框必须紧接在第二个div之前。
编辑:
另一个选择是将两个div包装在另一个div中,并使用包装div的悬停。
第二个选项没有使用相邻选择器的缺点。 只要锚点位于包装器内部的任何位置,当将包装器的任何部分悬停时,便会设置样式。
像这样:
<div class='box-wrapper'>
<div class="box"></div>
<div class="link-box"> <a href="#">Touch the Grey Box and I get hovered!</a>
</div>
</div>
具有以下样式:
.box-wrapper:hover a {
color: red;
}
创建一个名为“悬停” CSS类(可以影响到你a
使它.hover a
)
.hover a
{
color: red;
}
然后,您的JQuery将显示为:
$('.box').hover(function(){
$(".link-box").toggleClass("hover");
});
代替:hover
css选择器,我将使用类。
CSS:
.hover{
color:red;
}
JS:
$('.box').hover(
function(){
$('.link-box').addClass('.hover');
},
function(){
$('.link-box').removeClass('hover');
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.