鼠标移出时jquery slideUp

时间:2016-03-30 09:58:34

标签: jquery slideup mouseout

以下代码工作正常,但我想改变子菜单向上滑动的方式:当鼠标离开每个子菜单的所有元素

function initMenu() {
  $('#menu ul, #top-menu ul').hide();
  $('#menu ul, #top-menu ul').children('.current').parent().show();
  $('#menu li a,#top-menu li a').click(
  function() {
     var checkElement = $(this).next();
     if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        checkElement.slideDown('normal');
        return false;
     }
    if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
        checkElement.slideUp('normal');
        return false;
    }
  }
);

2 个答案:

答案 0 :(得分:0)

使用hover方法。您不需要检查元素是否可见:

$('#menu li a,#top-menu li a').hover(function(){
   $(this).next().slideDown('normal'); //on mouse over
}, function(){
   $(this).next().slideUp('normal'); //on mouse out
});

答案 1 :(得分:0)

$('#menu li a,#top-menu li a').mouseover(function(){
  $(this).next().slideDown('normal');
}).mouseout(function(){
  $(this).next().slideUp('normal');
});

mouseover

mouseout