![](/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.