2012-05-16 49 views
0

我試圖在文檔準備就緒後5秒鐘將對象取出並淡出。然後我想有另一套功能火,在我的情況下,一個starts adding and easing a set of blocks.在頁面加載一段時間後淡出對象,然後在淡出後運行另一組代碼

我的主要問題是SetTimeout沒有回調,所以我不能在它完成後運行的東西。而當SetTimeout運行時,其餘的代碼會運行。

這是我現在有:

$(document).ready(function() { 
        setTimeout(function() { 
         $('#background-example').fadeOut(2000, function(){ 
        }); 
         }, 3000); 
         alert("Hello"); 
      }); 
      </script> 

這樣做是運行2000毫秒淡出,文檔後3000ms已準備就緒。但是,添加警報時,會在setTimeout啓動後立即運行警報,因爲它的屬性不是等待。

任何建議將是偉大的!

回答

2

您放入的空函數是在動畫完成後調用的回調函數。只需移動你的警報(或任何其他函數調用)。

setTimeout(function() { 
    $("#background-example").fadeOut(2000, function() { 
     alert("All done!"); 
    }); 
}, 3000); 
+0

非常感謝!我之前用另一個元素完成了這個工作,並認爲它可能會搞砸其他代碼,但希望它會好起來的。你知道有什麼方法可以在其他代碼被解僱之前完成setTimeout嗎?有這樣的可能嗎? –

相關問題