1

私はいくつかのdivを左に浮かせており、それぞれにCHILD DIVがあり、マウスオーバーで非表示になります。最初のコンテナ/親 div でのみ機能します。他の場合はそうではありません。

マウスオーバーの親DIVの子divが非表示になり、マウスアウトの子divが表示されると、私は達成しようとしています。そして、これはすべてのコンテナ/親divで機能するはずです。* div1のいずれかをホバーしてすべてのdiv2を非表示にするときは探していません:)。関数は、部分的に各コンテナーに対して機能する必要があります。

フィドル

HTML:

<div id="div1">
    <div id="div2">asdsds</div>
</div>
<div id="div1">
    <div id="div2">asdsds</div>
</div>
<div id="div1">
    <div id="div2">asdsds</div>
</div>

<div class="clear"></div>

jQuery:

$(function() {
      $('#div2').show();
      $('#div1').hover( function() { $('#div2').fadeToggle(); } );
});

助けてください!

4

5 に答える 5

2

の代わりにクラスを使用しますid。指定された ID のうちの 1 つのみを持つことができます。

これを試して:

<div class="div1"><div class="div2">asdsds</div></div>
<div class="div1"><div class="div2">asdsds</div></div>
<div class="div1"><div class="div2">asdsds</div></div>

<div class="clear"></div>

<script>
    $(function() {
      $('.div1').hover( function() {
          $(this).find('.div2').fadeToggle();
      } );
    });
</script>
于 2013-04-02T20:56:14.020 に答える
1

jQuery を使用する場合、ID は一意である必要があります。グループの場合は、代わりにクラス名を使用してください。

于 2013-04-02T20:55:05.147 に答える
0

主な問題は、ID を複製したことです。このタスクにはクラスを使用する必要があります。

$('.div2').show();
$('.div1').hover(function() {
    $('.div2', this).stop().fadeToggle();
});

別の問題: $('#div2').fadeToggle();. おそらく、現在ホバーされている div を一度に 1 つだけ切り替えたいので、コンテキストを提供する必要があります。

$('.div2', this).stop().fadeToggle();

また

$(this).find('.div2').stop().fadeToggle();

http://jsfiddle.net/T7USy/13/

于 2013-04-02T21:00:16.450 に答える