2011-12-26 28 views
1

我正在構建一個基於JavaScript的撲克遊戲,通過Ajax從服務器獲取一些更新。Javascript - 改變圖像不會工作,除非我alert()

當玩家在「炫耀」他們每個人應該顯示他持有什麼牌, 我正在改變每張攤牌手的圖片(從空白卡到實際卡即黑桃img國王)

我有最奇怪的問題:當我改變圖像(如下面的代碼所示), 圖像不會從空白變爲實際的卡,他們仍然是「blank.png」。 奇怪的是,如果我從第9行刪除「//」(並獲得警告消息),卡片會顯示其實際圖像,即「Ace of spades.png」。 那是什麼?

function executeShowDown(){ 
    (...) 
var playerCard1Id = "#player"+(playerNum)+"card1"; //the specific image id for hole card #1 
var playerCard2Id = "#player"+(playerNum)+"card2"; //the specific image id for hole card #2 
var card1 = "res/images/cards/"+handArr[0]+".png"; 
var card2 = "res/images/cards/"+handArr[1]+".png"; 
$(playerCard1Id).attr("src", card1); 
$(playerCard2Id).attr("src", card2); 
$(playerCard1Id).css('visibility','visible'); 
$(playerCard2Id).css('visibility','visible'); 
//alert("endShowDown");   #@#@# LINE 9 #@#@# 
    return; 
} 
+1

您可能需要使用使用jquery委託()或live()函數的事件處理函數。 – Chibuzo

回答

0

這可能發生得太快。也許增加一些東西讓它等待1秒左右,或者你可以使用回調函數,我看你使用了返回值,所以也許你調用它的另一個函數不會等待它結束。

祝你好運!

+0

Woah,我很確定你在這裏做了些什麼..調用這個函數的方法實際上使得很多東西沒有等待,生病看着它..謝謝! – Urbanleg