一旦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