使用jquery / js检查项目悬停失败



有一个菜单按钮(#menu_product),当用户的鼠标放在它上面时,菜单将向下滑动(#about)。但是,它不能检查滑上(隐藏)它的条件。逻辑是我需要确保按钮和菜单都不悬停,然后滑起来。但是菜单好像永远不会滑上来,怎么解决这个问题?由于

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

使用下面的代码来达到你想要达到的效果

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

Jsfiddle: http://jsfiddle.net/np67k/

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

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

#1不使用live,已弃用

试试这个:

$('#menu_product').on('mouseout',function() {
    var $about = $('#about').toggleClass('.hover');
    if (!$about.is('.hover')) {
        $about.slideUp("slow");
    }
});

相关内容

  • 没有找到相关文章

最新更新