Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery悬停以显示菜单问题_Jquery - Fatal编程技术网

jquery悬停以显示菜单问题

jquery悬停以显示菜单问题,jquery,Jquery,我正在尝试添加悬停效果以显示/隐藏下拉菜单。问题是当我将鼠标悬停在菜单显示的链接上时,该链接又消失了 $(".hoverli").hover( function () { $('ul.file_menu').slideDown('medium'); }, function () { $('ul.file_menu').slideUp('medium'); } ); 请在此处查看演示: 你能告诉我代码中缺少了什么吗 谢谢原因是,当您在.file\u菜单上时,

我正在尝试添加悬停效果以显示/隐藏下拉菜单。问题是当我将鼠标悬停在菜单显示的链接上时,该链接又消失了

$(".hoverli").hover(
  function () {
     $('ul.file_menu').slideDown('medium');
  }, 
  function () {
     $('ul.file_menu').slideUp('medium');
  }
);
请在此处查看演示:

你能告诉我代码中缺少了什么吗


谢谢

原因是,当您在
.file\u菜单
上时,它不再是
悬停
。所以,一个小小的改变就能解决问题

$(document).ready(function () {
    $("#button").hover(
  function () {
     $('ul.file_menu').slideDown('medium');
  }, 
  function () {
     $('ul.file_menu').slideUp('medium');
  }
);

});​

Fiddle:原因是,当您在
.file\u菜单
上时,它不再是
悬停
。所以,一个小小的改变就能解决问题

$(document).ready(function () {
    $("#button").hover(
  function () {
     $('ul.file_menu').slideDown('medium');
  }, 
  function () {
     $('ul.file_menu').slideUp('medium');
  }
);

});​

小提琴:发生这种情况是因为ul不在你的锚定标签内,所以当你悬停ul时,你实际上触发了锚定的“out”事件。

发生这种情况是因为ul不在你的锚定标签内,所以当你悬停ul时,你实际上触发了锚定的“out”事件。

我是这样做的:

$(document).ready(function() {
    var tim;
    $(".hoverli, .file_menu").on({
        mouseenter: function() {
            clearTimeout(tim);
            $('ul.file_menu').slideDown('medium');
        },
        mouseleave: function() {
            tim = setTimeout(function() {
                $('ul.file_menu').slideUp('medium');
            }, 300);
        }
    });
});​
以下是我的做法:

$(document).ready(function() {
    var tim;
    $(".hoverli, .file_menu").on({
        mouseenter: function() {
            clearTimeout(tim);
            $('ul.file_menu').slideDown('medium');
        },
        mouseleave: function() {
            tim = setTimeout(function() {
                $('ul.file_menu').slideUp('medium');
            }, 300);
        }
    });
});​
试试这个:

  $(".hoverli").hover(function () {
      $('ul.file_menu').slideDown('medium');
  });
  $('ul.file_menu').bind('mouseleave', function(){
     $('ul.file_menu').slideUp('medium'); 
  });
试试这个:

  $(".hoverli").hover(function () {
      $('ul.file_menu').slideDown('medium');
  });
  $('ul.file_menu').bind('mouseleave', function(){
     $('ul.file_menu').slideUp('medium'); 
  });

在链接和菜单上移动可进入
slideUp
slideDown
!:p移动链接和菜单可进入
slideUp
slideDown
!:P@kumo99将锚和
UL
包装在一个通用标签上,并在其上悬停
:)
@kumo99将锚和
UL
包装在一个通用标签上,并在其上悬停<代码>:)