jQuery如果悬停/如果不再

时间:2014-07-17 12:44:29

标签: jquery

我有一个小小的JS脚本。如果我将鼠标悬停在" a" div.overlay显示的元素。 但我怎么能说"如果我不再在一个元素上设置显示:阻止为无; ?

$(function() {

    var docHeight = $(document).height();

    $("body").append("<div id='overlay'></div>");

    $(".navbar-default .navbar-nav a").hover(function() {
       $("#overlay")
            .height(docHeight)
            .css({
                'display': 'block',
                'top': 80,
        });
    });

});

我对这个div的css

.overlay {
  display: none;
  z-index: 98;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgba(0,0,0,0.5);
}

1 个答案:

答案 0 :(得分:1)

.hover()的签名是

$( selector ).hover( handlerIn, handlerOut )
  

将两个处理程序绑定到匹配的元素,当鼠标指针进入并离开元素时执行。

隐藏你的div handlerOut(当鼠标指针离开元素时执行的函数。),在handlerOut函数中,你可以使用$("#overlay").hide();来隐藏元素。 / p>

使用

$(".navbar-default .navbar-nav a").hover(function () {
    $("#overlay")
        .height(docHeight)
        .css({
            'display': 'block',
            'top': 80,
        });
}, function () {
    $("#overlay").hide();
});