1

有一个菜单按钮 (#menu_product) 当用户的鼠标悬停在它上面时,菜单会向下滑动 (#about)。但是,它不能检查向上滑动(隐藏)它的条件。逻辑是我需要确保按钮和菜单都没有悬停然后向上滑动。但似乎菜单永远不会向上滑动,如何解决?谢谢

$('#menu_product').live('mouseout',function() {
    if (!$('#about:hover')) {
        $("#about").slideUp("slow");
    }
});
4

3 回答 3

1

使用以下内容来获得您想要达到的效果

$("#menu_product, #about").hover(
  function () {
    $("#about").stop();
    $("#about").slideDown("slow");
  }, 
  function () {
    $("#about").slideUp("slow");
  }
);

​jsfiddle:http: //jsfiddle.net/np67k/

于 2012-12-21T14:53:42.163 回答
0

javascript$('#about:hover')将始终返回一个有效的 jquery 对象,因此将始终为真。

尝试使用类似的东西$('#about').is(':hover'),因为该.is()函数返回一个布尔值。http://api.jquery.com/is/

于 2012-12-21T14:39:37.210 回答
0

#1 不要使用live,它已被弃用。

试试这个:

$('#menu_product').on('mouseout',function() {
    var $about = $('#about').toggleClass('.hover');
    if (!$about.is('.hover')) {
        $about.slideUp("slow");
    }
});
于 2012-12-21T14:52:06.740 回答