我正在嘗試使用javascript製作簡單的隱藏對象遊戲。當用戶找到並點擊圖像時,我想按以下順序發生3件事:聲音播放,圖像大小增加,圖像不可見。我遇到的問題是讓3個事件順序發生,而不是併發。現在看來,所有三個事件都發生在同一時間。使用JavaScript排序事件
我試過使用setTimeout(),雖然它確實創建了延遲,但它仍然在同一時間運行所有函數,即使每個函數都嵌套在setTimeout中。
實施例:(所有這樣做是等待則1.5秒播放的聲音並且使圖像看不見的):
function FindIt(image, id){
var t = setTimeout('sound()',10);
var b = setTimeout('bigger(' + image + ')',30);
var h = setTimeout('hide(' + image + ')',1500);
}
下面是我目前使用的功能和實際結果是:單擊圖像,沒有任何事情發生2秒,然後聲音播放,圖像不可見。
function FindIt(image, id){
sound();
bigger(image);
hide(image);
}
function sound(){
document.getElementById("sound_element").innerHTML= "<embed src='chime.wav' hidden=true autostart=true loop=false>";
}
function bigger(image){
var img = document.getElementById(image);
img.style.width = 112;
img.style.height = 112;
}
function hide(id){
var ms = 2000;
ms += new Date().getTime();
while (new Date() < ms){} //Create a 2 second delay
var img = document.getElementById(id);
img.style.visibility='hidden';
}
任何指導,將不勝感激!
'while(new Date()
katspaugh