Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Hover_Jquery Animate - Fatal编程技术网

jQuery:暂时禁用悬停。。。意外副作用

jQuery:暂时禁用悬停。。。意外副作用,jquery,hover,jquery-animate,Jquery,Hover,Jquery Animate,我遇到了.hover()的问题。我想暂时禁用它,我已经这么做了,但它有一个我想要消除的意外副作用 以下是我的小提琴: 我试图在工具提示和下拉菜单打开(topTip和topDrop)时禁用悬停。这些div在单击红色图标(topIconNew)时打开,这会拓宽工具提示。不幸的是,工具提示在被单击后会一直变宽。我希望div恢复到正常(更窄)的状态。我哪里出错了 感谢您的帮助。谢谢 在单击处理程序中,您忘记了重新启用悬停 看 您还需要在脚本的开头存储原始宽度,并恢复每个工具提示div.JsFiddle更

我遇到了.hover()的问题。我想暂时禁用它,我已经这么做了,但它有一个我想要消除的意外副作用

以下是我的小提琴:

我试图在工具提示和下拉菜单打开(topTip和topDrop)时禁用悬停。这些div在单击红色图标(topIconNew)时打开,这会拓宽工具提示。不幸的是,工具提示在被单击后会一直变宽。我希望div恢复到正常(更窄)的状态。我哪里出错了


感谢您的帮助。谢谢

在单击处理程序中,您忘记了重新启用悬停

您还需要在脚本的开头存储原始宽度,并恢复每个工具提示div.JsFiddle更新的值


请注意,其他答案通过硬编码值“100px”来设置旧宽度。这已经在css中定义,复制它是一种糟糕的编程实践。我的解决方案在开始时读取该值,并在需要时重新使用它,因此如果更改css,则不必更新js。

在单击处理程序中,您忘记了重新启用悬停

您还需要在脚本的开头存储原始宽度,并恢复每个工具提示div.JsFiddle更新的值


请注意,其他答案通过硬编码值“100px”来设置旧宽度。这已经在css中定义,复制它是一种糟糕的编程实践。我的解决方案在开始时读取值,并在需要时重新使用,因此如果更改css,则不必更新js。

您需要删除扩展时设置的宽度

$(文档)中。单击
,进行以下更改:

$('div.topTip, div.topDrop').hide();


您需要删除展开时设置的宽度

$(文档)中。单击
,进行以下更改:

$('div.topTip, div.topDrop').hide();


您使用动画更改了topTip div的大小。。。它需要恢复到原来的大小。将“//隐藏”下拉列表和“单击外部”功能的工具提示更改为:

$(document).click(
    function(){
        hoverEnabled = true;
        $('div.topTip').animate({width:100,marginLeft:0},'fast');
        $('div.topTip, div.topDrop').hide();
    }
);

您使用动画更改了topTip div的大小。。。它需要恢复到原来的大小。将“//隐藏”下拉列表和“单击外部”功能的工具提示更改为:

$(document).click(
    function(){
        hoverEnabled = true;
        $('div.topTip').animate({width:100,marginLeft:0},'fast');
        $('div.topTip, div.topDrop').hide();
    }
);

谢谢你修复了另一个问题,我在发布这篇文章后马上意识到了这一点(我正要尝试删除这篇文章,以便在重新发布之前解决它)。谢谢你的修复,我现在已经在任何需要的地方重新启用了悬停,并且已经编辑了我的帖子。但是,如您所见,单击topIconNew并加宽工具提示后,即使重新启用了悬停,工具提示仍会加宽。我如何修复它使其恢复到原来的大小?@jstacks我也修复了它。点击答案+1中的链接,直接设置我们的宽度值,而不是硬编码@这不是回答你的问题吗?谢谢你解决了另一个问题,我在发布这篇文章后马上意识到了,我已经解决了(我正要尝试删除这篇文章,以便在重新发布之前解决它)。谢谢你的修复,我现在已经在任何需要的地方重新启用了悬停,并且已经编辑了我的帖子。但是,如您所见,单击topIconNew并加宽工具提示后,即使重新启用了悬停,工具提示仍会加宽。我如何修复它使其恢复到原来的大小?@jstacks我也修复了它。点击答案+1中的链接,直接设置我们的宽度值,而不是硬编码@这不是回答你的问题吗?