一旦toggleClass完成后,我该如何做一个功能?我试过以下,但没有运气:toggleClass上的jquery函数完成?
$("#loader").toggleClass('fadeOut', function() {
alert('a');
});
一旦toggleClass完成后,我该如何做一个功能?我试过以下,但没有运气:toggleClass上的jquery函数完成?
$("#loader").toggleClass('fadeOut', function() {
alert('a');
});
的jQuery有一个返回延期对象,您可以访问使用.promise()
承诺方法。在所选元素的所有运行动画完成后,该承诺对象将被解析。在这一点上,你可以绑定到它完成的方法。
$("#loader").toggleClass('fadeOut',600).promise().done(function(){
alert('a');
});
:)使用延迟对象+1。 – 2012-04-25 18:48:52
该解决方案需要jQuery UI。 – Aryo 2013-11-10 07:51:58
没有jquery ui它不会是一个动画,因此不会有回调。你的观点? – 2013-11-22 05:39:13
toggleClass
立即执行,所以你不需要回调toggleClass
,只需将alert('a')
下一行执行toggleClass
后会发出提示。
编辑:看起来像你想要的jQuery UI效果 - toggleClass
不幸的是没有回调函数。
也许你应该写自己的切换功能。请参阅下面的淡入/淡出切换,
var $loader = $("#loader");
if ($loader.is(':visible')) {
$loader.fadeOut(100, function() {
alert('fade out complete');
});
} else {
$loader.fadeIn(100, function() {
alert('fadeIn complete');
});
}
即时消息试图让$(“#loader”)隐藏()后淡出,我该怎么做? - – panthro 2012-04-25 18:18:29
@ user1013512看起来像jQuery UI中的toggleClass效果没有回调..查看我的更新后的帖子,让我知道如果这对你有用。 – 2012-04-25 18:24:26
@Vega做'.toggleClass()'给出一个延期的对象?尝试'.toggleClass()。promise()。done(function(){alert(“done”)});'大多数动画方法如果不是全部都返回一个延迟对象。 – 2012-04-25 18:38:58
$("#loader").stop().fadeTo(400,0, function() {
$(this).toggleClass('fadeOut').hide(); // exec after is faded out.
alert(' ta-da!');
});
拨动类是直接的,你不需要为toggleClass回调,只需将'alert('a')'放在下一行,它将在toggleClass – 2012-04-25 18:16:52
im试图让淡出后的$(“#loader”)隐藏()后提醒,我该怎么做? – panthro 2012-04-25 18:17:54
即时消息试图让$(“#loader”)隐藏()后淡出,我该怎么做? - – panthro 2012-04-25 18:18:12