2

この小さなスニペットの目的は、(デフォルトで) 画像データを表示してから、"slideDown" onMouseOver で削除することです。ほとんどの場合は機能しますが、テキストにカーソルを合わせると情報が表示されると、div が狂ったように上下にジャンプします。これを解決するための助けをいただければ幸いです。

デモ: http://jsfiddle.net/voudini/SggsV/

4

1 に答える 1

4

使ってみてonmouseenteronmouseleave

これを試して

$('.hoverbox')
    .mouseenter(function(){
        $(".hoverinfo", this).stop(true, true).slideUp(400);
    })
    .mouseleave(function(e){

        $(".hoverinfo", this).stop(true, true).slideDown(400);
    });

更新されたフィドル

そのドキュメントを確認してください

マウス エンターマウス リーブ

mouseenter イベントは、イベントのバブリングを処理する方法が mouseover とは異なります。この例でマウスオーバーが使用された場合、マウス ポインターが内部要素の上に移動すると、ハンドラーがトリガーされます。これは通常、望ましくない動作です。一方、 mouseenter イベントは、マウスが子孫ではなく、バインドされている要素に入ったときにのみハンドラーをトリガーします。したがって、この例では、マウスがアウター要素に入ったときにハンドラーがトリガーされますが、インナー要素にはトリガーされません。

于 2012-10-03T05:08:47.520 に答える