2012-04-22 6 views
1

他のdivにカーソルを移動して他のdivにカーソルを合わせる機能があります。1つのdivにカーソルを移動して他のdivにカーソルを合わせると

<div id="a">1</div> 
<div id="b" style="display:none;">2</div> 

#aと#bをホバーする方法は? 私はcss3ソリューションが欲しいですが、jqueryも良いです。

+0

?そして、CSSは、DOMツリーの下の要素だけを選択することができます。後の兄弟、そして子孫。それは両方の方法で動作することはできません。したがって、双方向にするには、JavaScriptが必要です。 –

+0

はい................. –

答えて

1
$("#a").on({ 
    mouseenter: function() { 
     $("#b").show(); 
    }, 
    mouseleave: function() { 
     $("#b").hide(); 
    }, 
    click: function() { 
     alert('Holy crap! Someone clicked me!'); 
    } 
}); 

あなたは#A内#Bを配置する場合、あなたはそれ以外の場合は上記のjQueryのソリューションは、(1.7以降jQueryを使って)動作するはずです、CSSでそれを行うことができます。

+0

あなたはクリックイベントのための関数を書くことができますか? –

+0

Yupp!クリック機能を追加しました! – adeneo

1

CSSのソリューションは、このようなことにそれらを必要があります:ブロックを表示するために

<div id="a">1 
    <div id="b">2</div> 
</div> 

CSSのようになります。

#a:hover #b{ 
    display: block; 
} 

あなたがここでの例の両方見ることができます:http://jsfiddle.net/skip405/L93x7/

+0

私のfuncの 'hover'を' toggle'に置き換えると、クリックに出現/消滅の効果が得られます。 – skip405

+0

ありがとう/////////// –

+0

ok。私は他の3に接続されている3つの異なるdivを持っている場合はどうなりますか?つまり、ホバリングdiv #a> show div #aaです。ホバー#b>ショー#bb。ホバー#c>表示#cc。 jsで簡単な方法がありますか? –

2

クロームでの作品:

http://jsfiddle.net/iambriansreed/uQfKw/

HTML:

<div id="a">1</div> 
<div id="b">2</div> 

CSS:あなたは可視性を切り替えたい

#a + #b { 
    display: none; 

} 
#a:hover + #b { 
    display: block; 

} 
+0

うわー!すばらしいです!全体の惑星がクロムを選んでいる間、ちょうど待たなければならない) –

+3

[隣接する兄弟セレクタ](http://www.w3.org/TR/CSS2/selector.html#adjacent-selectors)はCSS2、fyiの一部です。 – iambriansreed