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悬停并停留直到鼠标离开_Javascript_Jquery_Hover - Fatal编程技术网

Javascript jquery悬停并停留直到鼠标离开

Javascript jquery悬停并停留直到鼠标离开,javascript,jquery,hover,Javascript,Jquery,Hover,我正在尝试创建一个“购物车”链接,其中购物车在悬停时打开。我可以让车在悬停时打开,离开时关闭。然而,我不能让购物车块保持开放,一旦悬停。我希望汽车挡在悬停时打开,如果你在上面悬停,则保持打开。如果你将鼠标悬停在页面右上角的“购物车”链接上,你就会明白我的意思 我使用的jQuery是: jQuery('#cart-links .links .first a').mouseover(function(){ jQuery('.block-cart').slideDown(400); }).mou

我正在尝试创建一个“购物车”链接,其中购物车在悬停时打开。我可以让车在悬停时打开,离开时关闭。然而,我不能让购物车块保持开放,一旦悬停。我希望汽车挡在悬停时打开,如果你在上面悬停,则保持打开。如果你将鼠标悬停在页面右上角的“购物车”链接上,你就会明白我的意思

我使用的jQuery是:

jQuery('#cart-links .links .first a').mouseover(function(){
  jQuery('.block-cart').slideDown(400);
}).mouseout(function(){
  jQuery('.block-cart').slideUp(400);
});

jQuery(".block-cart").mouseover(function(){
 jQuery(this).show();
}).mouseout(function(){
 jQuery(this).fadeOut("slow");
});

您需要取消第一个
mouseout()
,因此需要将第二个部分调整为

jQuery(".block-cart").mouseover(function(){
 jQuery(this).stop(true).show();
}).mouseout(function(){
 jQuery(this).fadeOut("slow");
});

请注意,
停止
,我传递的是true,因此它将清除当前动画队列。jQuery doc for stop是@

它看起来像是
.block cart
不是触发悬停的元素的子元素,因此为了保持悬停状态处于活动状态,您必须以
.block cart
是触发悬停的元素的子元素的方式构造HTML


顺便说一句:你为什么不使用
$(this).hover()
而不是
$(this).mouseover().mouseout()
,它更容易一点

实际上,我更喜欢@kongr45gpen的解决方案。它使用
.mouseleave()
.mouseenter()
,并重新排列HTML,以便
阻止购物车
位于
#购物车链接
内。非常感谢您的帮助。我无法将购物车块作为子html获取,因此我选择了“Detect’s Resosse”,它工作得非常好:)您好,谢谢您的帮助,不幸的是,我在尝试将html作为所需元素的子元素时遇到了很多麻烦。这是因为该网站基于magento购物车软件,很难改变。我想,如果有一种方法可以延迟鼠标移出购物车链接上的悬停,我可能能够初始化块购物车功能的悬停,因此购物车不会消失。这可能吗
hovered = false;

jQuery('#cart-links .links .first a').mouseover(function(){
    jQuery('.block-cart').slideDown(400);
}).mouseout(function(){
      setTimeout(function(){
      if(!hovered) {
        jQuery('.block-cart').slideUp(400);
      }}, 250);
   });

jQuery(".block-cart").mouseover(function(){
 hovered = true;
}).mouseout(function(){
 hovered = false;
 jQuery('#cart-links .links .first a').trigger("mouseout");
});