我想要做的是:爲什麼jQuery似乎不等待動畫完成?
- 淡入進度條。
- 淡入淡出完成後,將進度條的動畫設置爲100%。
- 當進度條爲100%時,淡出預處理欄。
- 當淡出完成時,重置進度條。
我想這個代碼將提供解決方案:
$('#savebar').fadeIn('fast', function() {
$('#savebar .bar').animate({width: '100%'}, "slow", function() {
$('#savebar').fadeOut('fast', function() {
$('#savebar .bar').css({'width':'0%'});
});
});
});
的問題似乎是,在生命的完整功能的早期執行到。這是因爲瀏覽器沒有足夠快地渲染進度條,或者我在這裏丟失了什麼?
這裏是一個的說明問題的jsfiddle:http://jsfiddle.net/dub6P/
我同意這可以正常工作,但不是當動畫完成時執行完整功能的想法嗎?這是因爲動畫不會等待瀏覽器呈現每一步? – picknick
評論是正確的錢。儘管在這種情況下,這個答案「運作得很好」,但它並沒有解決核心問題,即「完成」回調不等待動畫完成。 – nathanchere