1

私は現在2つ<div>のsを持っています。1 番目をホバリングすると、2 番目がフェードインしますmouseout。1 番目または 2 番目を ing すると、2 番目が再びフェードアウトします。ただし、マウスを 1 番目から 2 番目に移動する場合、2 番目はそのままにしておく必要があります (マウスオーバー メニューのように)。

私が今実装したのは、単純なmouseoverイベントmouseoutハンドラーです: http://jsfiddle.net/tC3ZL/2/

$('#div1').mouseover(function() {
    $('#div2').fadeIn(500);
});

$('#div1').mouseout(function() {
    $('#div2').fadeOut(500);
});

$('#div2').hide().mouseout(function() {
    $('#div2').fadeOut(500);
});

問題は、マウスを最初の div から 2 番目の div に移動するときに 2 番目の div を永続的に表示するという要件が機能しないことです。マウスを最初の div から 2 番目の div に移動するmouseoutと、最初の div が発生します。

このルールをコードに追加するにはどうすればよいでしょうか? http://jsfiddle.net/tC3ZL/1/をやってみました:

$('#div2').mouseover(function() {
    $('#div2').fadeIn(500);
});

ただし、これにより、マウスを最初のdivから2番目のdivに移動すると、2番目のdivがフェードアウトおよびフェードインしますが、効果はありません。

前もって感謝します。

4

1 に答える 1

3

あなたの代わりにこのコードを使用してください

    $('#div1').mouseover(function() {
        $('#div2').stop();
        $('#div2').fadeIn(500);
    });

    $('#div2').hide().mouseout(function() {
        $('#div2').fadeOut(500);
    });
于 2011-04-05T11:09:58.970 に答える