Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 - Fatal编程技术网

Javascript 防止jQuery函数重复作用两次?

Javascript 防止jQuery函数重复作用两次?,javascript,jquery,Javascript,Jquery,我正在做一个类似这样的事情: 当用户mouseenterDIV1时,DIV2将fadeIn,当用户mouseeoutDIV1时,DIV2将fadeOut 但是奇怪的事情正在发生,当你快速地在DIV1中来回盘旋时,DIV2的FADEIN和out效果会重复你在DIV1中的总盘旋次数 例如: 我在@DIV1快速地来回徘徊了10次,DIV2将继续淡入淡出10次,尽管我的鼠标没有在上面徘徊 我希望人们能理解我的意思 代码: 谢谢,祝您度过愉快的一天。您可以在启动新动画时停止现有动画,而不是将它们堆叠起来:

我正在做一个类似这样的事情: 当用户mouseenterDIV1时,DIV2将fadeIn,当用户mouseeoutDIV1时,DIV2将fadeOut

但是奇怪的事情正在发生,当你快速地在DIV1中来回盘旋时,DIV2的FADEIN和out效果会重复你在DIV1中的总盘旋次数

例如: 我在@DIV1快速地来回徘徊了10次,DIV2将继续淡入淡出10次,尽管我的鼠标没有在上面徘徊

我希望人们能理解我的意思

代码:


谢谢,祝您度过愉快的一天。

您可以在启动新动画时停止现有动画,而不是将它们堆叠起来:

$('div1').bind('mouseenter', function() {
   $('div2').stop().fadeIn(600);
});
$('div1').bind('mouseout', function() {
   $('div2').stop().fadeOut(600);
});

可以在启动新动画时停止现有动画,而不是将其堆叠:

$('div1').bind('mouseenter', function() {
   $('div2').stop().fadeIn(600);
});
$('div1').bind('mouseout', function() {
   $('div2').stop().fadeOut(600);
});
如果需要,它将停止当前动画,以便动画队列不会被延迟的动画填满:

此外,还应使用
#div1
div1
选择
div1
元素,而我认为您有
div
元素。

您需要的元素,它会停止当前动画,以便动画队列不会被延迟的动画填满:

此外,还应使用
#div1
div1
选择
div1
元素,而我认为您有
div
元素。

mouseout
事件上使用,该事件将停止所有现有动画

以下是在
鼠标退出
事件中使用的工作小提琴,它将停止所有现有动画

这是工作小提琴

用这个

$('div1').bind('mouseenter', function() {
   $('div2').fadeIn(600).stop(true, true);
});
$('div1').bind('mouseout', function() {
   $('div2').fadeOut(600).stop(true, true);
});
希望它能帮助你使用这个

$('div1').bind('mouseenter', function() {
   $('div2').fadeIn(600).stop(true, true);
});
$('div1').bind('mouseout', function() {
   $('div2').fadeOut(600).stop(true, true);
});

希望有帮助

你确定你使用的选择器是
div1
吗?是的,如果
ID
s是
div1
等,我已经检查了很多次。你应该使用
\div1
,但正如你所说,它正在工作,我想这不是问题。你确定你正在使用的选择器是
div1
吗?是的,如果
ID
s是
div1
等,我已经检查了很多次。你应该使用
\div1
,但正如你所说,它正在工作,我想这不是问题。