Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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 fadeIn/fadeOut竞态条件?_Javascript_Jquery - Fatal编程技术网

Javascript jQuery fadeIn/fadeOut竞态条件?

Javascript jQuery fadeIn/fadeOut竞态条件?,javascript,jquery,Javascript,Jquery,我正在尝试处理一个菜单,当您将鼠标悬停在一个项目上时,一个框淡入,另一个项目淡入,另一个框淡入: $( '.all' ).fadeOut( 'fast', function() { $( '#item' ).fadeIn( 'fast' ); 但有时当你使用鼠标太快时,会出现多个东西,或者所有东西都会消失。。如何优雅地处理比赛?试试“排队”选项。我不确定它是否在fadeIn函数上可用,但您可以尝试使用动画函数设置不透明度的动画,该函数使用队列选项 $('.item').animate({opa

我正在尝试处理一个菜单,当您将鼠标悬停在一个项目上时,一个框淡入,另一个项目淡入,另一个框淡入:

$( '.all' ).fadeOut( 'fast', function() { $( '#item' ).fadeIn( 'fast' );

但有时当你使用鼠标太快时,会出现多个东西,或者所有东西都会消失。。如何优雅地处理比赛?

试试“排队”选项。我不确定它是否在fadeIn函数上可用,但您可以尝试使用动画函数设置不透明度的动画,该函数使用队列选项

$('.item').animate({opacity:0},{queue:false})

stop(true)
可能已经足够了,如果不看到html,很难判断


参考:

@TravisJ,单线程代码中的信号量?@lucero-Yup,虽然它们主要用于多线程,但根据定义,信号量用于处理竞争条件。也许旋转锁可以在这里工作。我没有时间搜索,但这是多个其他锁的副本questions@TravisJ-或者您可以使用jQuery的
.stop()
方法,因为重叠的动画发生在其他jQuery代码中…@nnnnnn-the.stop()方法将在任何地方留下菜单片段,除非它与队列一起使用,队列很可能是实现旋转锁的地方。谢谢,我有更多的代码,但实际上上面的代码就是我所做的全部。
$( '.all' ).stop(true, true).fadeOut( 'fast', function() { $( '#item' ).stop(true, true).fadeIn( 'fast' );