【发布时间】:2010-02-08 20:18:34
【问题描述】:
我在 jQuery 中做了一些简单的 .hover(function() 语句。当我将鼠标悬停在文本上时,我只想要一个#div.fadeIn,并且在非悬停淡出上。它有效。但它只是如果我垃圾邮件带有悬停和取消悬停的文本触发器真的很快然后停止动画开始给出闪烁效果。它只是一种循环,真的很烦人!
【问题讨论】:
标签: jquery loops queue fadein fadeout
我在 jQuery 中做了一些简单的 .hover(function() 语句。当我将鼠标悬停在文本上时,我只想要一个#div.fadeIn,并且在非悬停淡出上。它有效。但它只是如果我垃圾邮件带有悬停和取消悬停的文本触发器真的很快然后停止动画开始给出闪烁效果。它只是一种循环,真的很烦人!
【问题讨论】:
标签: jquery loops queue fadein fadeout
有一些简单的方法可以解决这个问题,但是这个应该可以为你提供一个很好的效果:
$("#yourtrigger").hover(function(){
$("#div").stop(true).fadeTo( "fast", 1.0);
}, function(){
$("#div").fadeOut( "fast" );
});
重要的是不要在此方法中使用fadeIn,因为它会在一段时间后停止淡入淡出,因为 jQuery 会跟踪它应该“淡入”的内容。
【讨论】:
如果你有这样的事情:
$('#your_div').action1().action2();
改成:
$('#your_div').action1(miliseconds, function() {
$(this).action2();
});
您甚至可以在 v1.4 中像这样添加 delay() 调用。
$('your_div').action1().delay(miliseconds).action2();
【讨论】: