2013-09-29 110 views
1

我想要一個JavaScript函數在另一個完成後執行。這是我的代碼:如何在另一個完成後執行javascript函數?

$(window).load(function(){ 
$('#dvLoading').fadeOut(2000); 
}); 

window.addLoadEvent = function() { 
$('#popuprel1').show(); 
} 
+0

定義全局變量'isCompleted',並在每個函數中使用它,或者使用'的setTimeout()'中的每一個功能下一個功能 –

回答

1

您想對fadeOut使用回調。它在初始動畫完成後調用第二個函數。

http://api.jquery.com/fadeOut/

基本上 - 你想要做這樣的事情:

$(window).load(function(){ 
    $('#dvLoading').fadeOut(2000, function() { 
     $('#popuprel1').show(); 
    }); 
}); 
+0

完美:) –

+0

不客氣。 –

1

這是因爲第二onload替換第一個。按照this。 對於onload上的多個事件,請使用addLoadEvent

+0

對不起,我編輯我的問題 –

+0

你不應該這樣調用'addLoadEvent'。將函數作爲參數傳遞:'window.addLoadEvent(function(){// code});'。爲每一個你想執行的功能做到這一點。它們將按順序調用,因爲'addLoadEvent'處理它。從鏈接:「這種工作方式相對簡單:如果window.onload尚未分配函數,則傳遞給addLoadEvent的函數將簡單地分配給window.onload。如果已經設置了window.onload,則全新函數首先調用原始的onload處理程序,然後調用新的處理程序。「 – ep0

+0

nope doesnt work,$(window).load(function(){ $('#dvLoading')。fadeOut(2000); }); (函數(){$('#popuprel1')。show();}); does not still still –

相關問題