0

我正在尝试创建一个菜单,当您单击页面上的其他任何位置时,div 将被隐藏。这适用于除 Firefox 之外的所有应用程序。在 Firefox 中,当您单击该部分中的一个链接时,它不会转到该链接,它只会关闭 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 回答