1

4 つの円が隣り合っており、マウスを 1 つの円から別の円に移動すると、このコードがアクティブになります。しかし、ある .circle から別の .circle に移動したときではなく、いずれかの円をオフ/オンしたときにのみアクティブにしたいのです。ありがとう!

 $('.circle').hover(
    function () {
        $(this).parent().animate({marginLeft: '-=25px'}, 1000);
    },
    function () {
        $(this).parent().stop(true, true).animate({marginLeft: '+=25px'}, 1000);
    }
 );
4

2 に答える 2

1

このフィドルをチェックしてください... http://jsfiddle.net/WxNdN/3/

e.relatedTarget は、入力または残した要素を提供する必要があります。アニメーションを開始する前に、そのクラスをチェックして円であるかどうかを確認してください。

$('.circle').hover(
    function (e) {

        if(!$(e.relatedTarget).hasClass('circle'))
        {
            console.log('entering');
        }
    },
    function (e) {

        if(!$(e.relatedTarget).hasClass('circle'))
        {
            console.log('leaving');
        }
    }
 );​
于 2012-06-29T18:11:17.547 に答える
0

HTML を見なくても、すべての circle クラス要素をコンテナー内にラップしてから、ホバー イベントをコンテナーに配置する必要があると思います。だから何か

<div id="container">
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
</div>

その後

$('#container').hover(functions...)

おそらく変更する必要$(this).parent()がありますが、現在の HTML 構造を見ないとわかりません。

于 2012-06-29T17:55:23.580 に答える