jQuery fadeIn / fadeOut竞争条件?

时间:2012-02-20 22:05:07

标签: javascript jquery

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

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

但有时候当你使用鼠标太快时,会出现多种情况,或者一切都会再次出现......我该如何优雅地处理比赛?

2 个答案:

答案 0 :(得分:6)

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

stop(true)可能已经足够了,如果没有看到你的HTML,很难说。

参考:http://api.jquery.com/stop/

答案 1 :(得分:1)

尝试使用“队列”选项进行试验。我不确定它是否可用于fadeIn函数,但您可以尝试使用动画函数设置不透明度,该函数确实采用队列选项。

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