这是翻转硬币页面的一部分 我根据当前状态和硬币的未来状态在css上制作硬币的动画 因此,每次运行该功能时,我必须将硬币重置为默认状态,然后使用新的css动画将其设置为未来状态 事情是..当我运行代码它没有工作,直到我添加警报(“嗨”)线..我不知道为什么,我想解决这个,因为我不希望用户点击确定每当他需要翻转硬币时
var flipCoin = function () {
flips ++;
var result = 1;
if (document.getElementById("fromHeadsToHeads") !== null) {
document.getElementById("fromHeadsToHeads").id = "defaultHeads";
}
switch (result) {
case 1 :
if (document.getElementById("defaultHeads") !== null) {
alert("hi")
document.getElementById("numFlips").innerHTML = flips;
document.getElementById("defaultHeads").id = "fromHeadsToHeads";
}
break;
}
答案 0 :(得分:0)
问题可能是浏览器在你设置我和你调用getElementById之间还没有重新呈现DOM。
当您提醒某些内容时,浏览器可能会触发渲染。
有可能有更好的方法来解决你想要做的事情,但是为了解决DOM没有被重新渲染的直接问题,你可以将警报后面的所有内容放在一个由a调用的新匿名函数中。 setTimeout的。有点像:
SetTimeout(function(){...},100)。您必须正确获取变量范围,但这应该为DOM提供更新的机会。