1

クラスが動的に割り当てられた div の 3 つのグループがあります。ユーザーがいずれかの div にカーソルを合わせると、jQuery はクラスをチェックし、同じクラスの他のクラスをフェードします。これはうまく機能しますが、同じクラスの div 間を移動すると、毎回 jquery が起動するようです。おそらく、クラスを再チェックしてエフェクトを起動しているためです。

私の質問は、同じクラスの div 間を移動するときにちらつきを止めるにはどうすればよいですか?

div はすべて 1px のマージンで左にフロートされます。(ところでマージンを削除しようとしました)。

私のマークアップ:

<div id="projects">

   <div class="p-1">IMAGE</div>
   <div class="p-1">IMAGE</div>
   <div class="p-1">IMAGE</div>

   <div class="p-2">IMAGE</div>
   <div class="p-2">IMAGE</div>
   <div class="p-2">IMAGE</div>

   <div class="p-3">IMAGE</div>
   <div class="p-3">IMAGE</div>
   <div class="p-3">IMAGE</div>

</div> 

そして、jQuery

    $('#projects div[class^=p-]').hover(function() {
        $('#projects div[class=' + $(this).attr('class') + ']').fadeTo(200, 0.2, function() {
        });
    }, function() {
        $('#projects div[class=' + $(this).attr('class') + ']').fadeTo(200, 1.0, function() {
        });
    });

そしてフィドル:フィドル

4

2 に答える 2