1

Web ページにはメニューがあり、ホバリングするとサブメニューが開きます。すべてのメニューとサブメニューは div を使用して作成され、サブメニューは style.display = none; を使用して非表示になります。

問題は、サブメニューが開かれると、マウスアウトしても非表示にならないことです。ユーザーがページの他の場所をクリックしても、開いたままになります。

しばらくすると自動的に消えるように、またはページの残りの領域をクリックすると消えるように、いくつかの機能を実装する方法を知りたいですか?

: マウスアウトが正しく機能していません。

4

1 に答える 1

1

how can I implement some functionality so that after some time it automatically get disappear使用するためsetTimeout

var canceled;

$("mymenu").on("focusout", function() {
    canceled = false;
    setTimeout(function() {
        if (!canceled) {
            // Hide menu
        }
    }, 2000);
});

$("mymenu").on("focusout", function() {
    canceled = true;
});

イベントをルートに直接or on clicking on rest of the area on page it disappears.バインドする必要があるためです。clickdocument

$(document).on("click", function() {
    // hide menu if visible
});
于 2012-12-06T14:25:59.170 に答える