0

ページ上の他の場所をクリックするとdivが非表示になるメニューを作成しようとしています。これはFirefox以外のすべてで機能します。Firefoxでは、セクション内のリンクの1つをクリックすると、リンクに移動せず、divを閉じるだけです。

コード:

$(document).mouseup(function(e){//removes menu when clicked on any other part of page
    if($(".menuone:visible").length > 0  ){
        $('.menuone').hide();
    }
});

HTML:

<div class="menuone">
<div class="col1">
<ul><li>Example link</li></ul>
</div>
</div>
4

2 に答える 2

2

.menuone div のホバー状態を追跡できる変数を設定する必要があります。

次に、ifステートメントは次のようになります。

if($(".menuone:visible").length > 0 && !menuHover )

これでうまくいくはずです。

それが役に立てば幸い :)

編集:

var menuHover = false;

$(".menuone").bind('mouseenter mouseleave',function(e){
    menuHover = e.type == 'mouseenter';
});
于 2012-05-09T08:23:49.443 に答える
0

ここJohn Resig のサイトで言及されているアイデアが気に入っています。

var outerPane = $details.find(".details-pane-outer"),
    didScroll = false;
$(window).scroll(function() {
    didScroll = true;
});

setInterval(function() {
    if ( didScroll ) {
        didScroll = false;
        // Check your page position and then
        // Load in more results
    }
}, 250);
于 2012-05-09T08:28:45.870 に答える