我正在构建一个基于JavaScript的扑克游戏,通过Ajax从服务器获得一些更新。
当玩家处于“显示”时,他们每个人都应该显示他持有的牌, 我正在更改每个摊牌手的图片(从空白卡到真正的卡片,即黑桃之王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;
}
答案 0 :(得分:0)
这可能发生得太快了。也许添加一些东西让它等待1秒左右,或者你可以使用回调函数,我看到你使用返回那里,所以也许你从中调用它的另一个函数不等待它结束。
祝你好运!