Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Javascript JQuery显示/隐藏DIV工作不正常_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQuery显示/隐藏DIV工作不正常

Javascript JQuery显示/隐藏DIV工作不正常,javascript,jquery,html,Javascript,Jquery,Html,我有一个子菜单div,其中有一个购物车跨度。当用户将鼠标悬停在上面时,它会显示我的隐藏购物车DIV。然后用户可以将鼠标移动到DIV以删除项目 如果用户显示并将鼠标移到隐藏的DIV中,然后移出该DIV,则该DIV将重新隐藏 我遇到的问题是,如果用户显示了DIV,但没有移动到隐藏的DIV,而是返回到子/主菜单,DIV没有重新隐藏,我已经尝试了我能想到的一切 请检查我的 如果你不先去分区,它就不会隐藏它 $'subnumucartbox'.mouseoverfunction{ $‘cartBox’。

我有一个子菜单div,其中有一个购物车跨度。当用户将鼠标悬停在上面时,它会显示我的隐藏购物车DIV。然后用户可以将鼠标移动到DIV以删除项目

如果用户显示并将鼠标移到隐藏的DIV中,然后移出该DIV,则该DIV将重新隐藏

我遇到的问题是,如果用户显示了DIV,但没有移动到隐藏的DIV,而是返回到子/主菜单,DIV没有重新隐藏,我已经尝试了我能想到的一切

请检查我的

如果你不先去分区,它就不会隐藏它

$'subnumucartbox'.mouseoverfunction{ $‘cartBox’。显示; $'cartBox'.mouseleave函数{ $'cartBox'。隐藏; }; }.鼠标移动功能{ setTimeoutfunction{ 如果!$‘cartBox’。长度{ $'cartBox'。隐藏; } }; } .主菜单{ 宽度:100%; 高度:75px; 背景颜色:浅蓝色; } .子菜单{ 宽度:100%; 高度:45px; 背景颜色:灰色; 文本对齐:右对齐; 填充:10px; } .子菜单选项span{ 显示:内联flex; } .子菜单框{ 背景颜色:深蓝; 填充物:5px; 宽度:100%; 光标:指针; } cartBox先生{ 浮动:对; 填充:15px; 背景颜色:浅灰色; 显示:无; 左:自动; } 主菜单选项 长用户名的测试 0项-0.00英镑 您的购物车中当前没有任何项目。 $'subnumucartbox'.mouseoverfunction{ $‘cartBox’。显示; }.鼠标移动功能{ $'cartBox'。隐藏; } .主菜单{ 宽度:100%; 高度:75px; 背景颜色:浅蓝色; } .子菜单{ 宽度:100%; 高度:45px; 背景颜色:灰色; 文本对齐:右对齐; 填充:10px; } .子菜单选项span{ 显示:内联flex; } .子菜单框{ 背景颜色:深蓝; 填充物:5px; 宽度:100%; 光标:指针; } cartBox先生{ 浮动:对; 填充:15px; 背景颜色:浅灰色; 显示:无; 左:自动; } 主菜单选项 长用户名的测试 0项-0.00英镑 您的购物车中当前没有任何项目。 $'subnumucartbox'.mouseoverfunction{ $‘cartBox’。显示; }.鼠标移动功能{ $'cartBox'。隐藏; } .主菜单{ 宽度:100%; 高度:75px; 背景颜色:浅蓝色; } .子菜单{ 宽度:100%; 高度:45px; 背景颜色:灰色; 文本对齐:右对齐; 填充:10px; } .子菜单选项span{ 显示:内联flex; } .子菜单框{ 背景颜色:深蓝; 填充物:5px; 宽度:100%; 光标:指针; } cartBox先生{ 浮动:对; 填充:15px; 背景颜色:浅灰色; 显示:无; 左:自动; } 主菜单选项 长用户名的测试 0项-0.00英镑 您的购物车中当前没有任何项目。
使用Jquery,您可以检查鼠标离开按钮的哪一侧,并在将按钮留在底部时保持div打开

$('#subMenuCartBox').mouseover(function () {
  $('#cartBox').show();

  $('#subMenuCartBox').mouseleave(function (e) {
    var $this = $(this);
    var bottom = $this.offset().top + $this.outerHeight();
     if(e.pageY < bottom) {
      console.log("CLOSE");
      $('#cartBox').hide();
    }
  });

  $('#cartBox').mouseleave(function () {
    $('#cartBox').hide();
  });
}).mouseleave(function () {
  setTimeout(function () {
    if (!$('#cartBox').length) {
      $('#cartBox').hide();
    }
  });
})

使用Jquery,您可以检查鼠标离开按钮的哪一侧,并在将按钮留在底部时保持div打开

$('#subMenuCartBox').mouseover(function () {
  $('#cartBox').show();

  $('#subMenuCartBox').mouseleave(function (e) {
    var $this = $(this);
    var bottom = $this.offset().top + $this.outerHeight();
     if(e.pageY < bottom) {
      console.log("CLOSE");
      $('#cartBox').hide();
    }
  });

  $('#cartBox').mouseleave(function () {
    $('#cartBox').hide();
  });
}).mouseleave(function () {
  setTimeout(function () {
    if (!$('#cartBox').length) {
      $('#cartBox').hide();
    }
  });
})

你的小提琴没有摆好。另外,请在此处而不是外部发布代码。你的问题是什么?@Wils-如果用户在页面上的任何位置都不必进入然后离开,我需要重新隐藏隐藏的DIV。你的代码段中有很多DIV,我不知道你要隐藏哪个DIV,哪个不会隐藏。你的小提琴设置不正确。另外,请在这里而不是外部发布代码。你的问题是什么?@Wils-如果用户在页面上的任何地方都不必进入然后离开,我需要隐藏的DIV来重新隐藏。你的代码片段中有很多DIV,我不知道你想隐藏哪个DIV,哪个不会隐藏。这样做不起作用,因为你不能进入Div如果需要删除项目或单击隐藏Div中的按钮,正如我在我的帖子中添加的那样,我不需要能够这样做。我知道这一点,因为这是我在鼠标移出时尝试隐藏哪个div的第一件事?不。这样做不起作用,因为如果需要删除某个项目或单击隐藏div中的按钮,则无法进入div,正如我在帖子中添加的那样,我不需要这样做。我知道这是因为这是我第一次尝试在老鼠出没时你想藏在哪一个div?谢谢你,正是我想要的。大多数的评论都是我一搬家就把那个部门藏起来了。你读对了,这正是我想要的。大多数的评论都是我一搬家就把那个部门藏起来了。你读对了吗