2012-04-25 329 views
1

如何設置此函數的等待時間。jQuery設置函數執行前的等待時間

function UpdateMedicaitonHistory(data) { 
    MedicaitonHistoryGrid(); 
//set a wait time to finish MedicaitonHistoryGrid() like for 3 seconds 
// then execute the below code. 
if ($("#MedHistoryGridSec").is(":visible")) { 
      alert("yes we have grid"); 
     } 
else{ 
    alert("No Grid"); 
    } 
} 
+1

難道你不應該添加一個回調到'MedicationHistoryGrid()',它會在完成時執行,而不是試圖猜測什麼時候準備好? – JJJ 2012-04-25 17:32:25

+0

好吧,它有一個鏈條和依賴不允許我這樣做。這就是爲什麼要保持簡單,我選擇這種方式。 – HaBo 2012-04-25 18:30:44

回答

8

您可以使用setTimeout

setTimeout(function() 
{ 
    if($('#MedHistoryGridSec').is(':visible')) 
     alert('yes'); 
    else 
     alert('no'); 
}, 3000); 
0

你可以在回調函數包的代碼,並在三秒鐘後運行它使用window.setTimeout

var afterThreeSeconds = function() { 
    if ($("#MedHistoryGridSec").is(":visible")) { 
    alert("yes we have grid"); 
    } 
    else{ 
    alert("No Grid"); 
    } 
} 

window.setTimeout(afterThreeSeconds, 3000); 
0

你可以添加參數到藥物治療歷史網格功能採取一個函數包含您要執行的代碼後,該功能成功,然後您可以在藥物治療結束時調用歷史網格功能?