0

jquery animate を使用してホバーして表示するフライアウト メニューを作成しようとしています。マウスを離すと折りたたまれます。私は最初に hoverIntent と次のコードから始めました。

function collapseMenu() {
    $("#myMenu").animate({ "left": "+=50px" }, "slow");
}

function expandMenu() {
    $("#myMenu").animate({ "left": "-=50px" }, "slow");
}

$('#myMenu').hover(expandMenu(), collapseMenu());

ページをロードすると、メニューが右に 50 ピクセル移動し、次に左に 50 ピクセル移動します。そして、実際にメニューにカーソルを合わせると、次のコンソールエラーが発生します

キャッチされていない TypeError: 未定義のメソッド 'apply' を呼び出せません

hoverintent.js の 69 行目と 82 行目

したがって、jquery の .hover を試してみたところ、エラーなしで同じ結果が得られました。その後、次のテストに進みました。

$('#myMenu').mouseenter(alert("mouse entered menu"));
$('#myMenu').mouseleave(alert("mouse left menu"));

ページの読み込み時に、すぐに 2 つのアラートが表示されます...ホバーしても何も表示されません。これらの mouseenter および mouseleave イベントを document.ready とその外側で試しました (楽しみのため)、どちらも同じ結果になります。興味のある方は、メニューの html をご覧ください。

    <ul id="myMenu" class="nav nav-list">
        <li id="lnkHome" class="active"><a href="#">Home</a></li>
        <li class="nav-header">Issue Reports</li>
        <li id="lnkSoftware" ><a href="#">Software and Apps</a></li>
        <li id="lnkOS" class="disabled"><a href="#">Operating Systems</a></li>
    </ul>
4

1 に答える 1