1

次のコードを実行して、div "#top_mailing" がホバーされたときに非表示の div "#top_mailing_hidden" を表示するドロップダウン アコーディオンを作成します。問題は、マウスアウトしてからもう一度マウスオーバーしてアニメーションを中断すると、アニメーションが中止されて失敗することです。

次のコードがあります。

//Top Mailing List Drop down animation
$(document).ready(function () {

$('#top_mailing')
.bind("mouseenter",function () {
    $("#top_mailing_hidden").stop().slideDown('slow');
})
.bind("mouseleave",function () {
    $("#top_mailing_hidden").stop().slideUp('slow');
});

});

Brian Cherne のプラグインでは、次のように hoverIntent 関数を呼び出すように指示されています (ここで、'makeTall' と 'makeShort' は定義された関数です:

$("#demo2 li").hoverIntent( makeTall, makeShort )

私が得ている動作の最良の解決策は、Brian Cherne の「HoverIntent」jQuery プラグインを使用することだと思います。問題は、コードを上記に挿入して HoverIntent プラグインを呼び出す方法/場所がわからないことです。.hover ではなく ".hoverIntent" を呼び出すように指示されていますが、私のコードでは .bind("mouseEnter"... 誰か助けてください!

4

1 に答える 1

1

hoverIntent で匿名関数を引き続き使用できます。

$('#top_mailing').hoverIntent(function () {
   $("#top_mailing_hidden").stop().slideDown('slow');
 }, 
 function () {
   $("#top_mailing_hidden").stop().slideUp('slow');
});
于 2010-02-04T00:04:14.860 に答える