<分区>
<分区>
在下面的函数中:
function EVOLVE1()
{
if(ATP>=evolveCost)
{
display('Your cell now has the ability to divide.');
display('Each new cell provides more ATP per respiration.');
ATP = ATP - evolveCost;
document.getElementById('cellscount').innerHTML = "Cells = " +cells;
document.getElementsById('ATPcount').innerHTML = "ATP + " +ATP;
document.getElementById('dividebtn').style.display = "inline";
document.getElementById('dividebtn').innerHTML = "Divide(" + divideCost + " ATP)";
}
else
{
display('Not enough ATP.');
}
}
执行时,只执行前 4 条语句。最后 3 行没有任何效果(即带有 display:none 的按钮不可见,段落没有改变,按钮中的文本也没有改变)。我不知道为什么会这样。此外,display() 是一个简单的函数,它可以像这样更改 div 中的 p:
function display(x)
{
var z = document.getElementById('centretext').innerHTML;
document.getElementById('centretext').innerHTML = z + "<br>" + x;
}
所以我不认为这是导致问题的原因。 HTML:
<div id="left" class = "format">
<button class="buttonformat" id = "respirebtn" onclick="respire()"> Respire </button>
<button class="buttonformat" id = "evolvebtn" onclick="EVOLVE1()"></button>
<button class="buttonformat" id = "dividebtn" onclick="divide()"></button>
<p id = "lefttext">
</p>
</div>
CSS:
#evolvebtn
{
display: none;
position: relative;
top:450px;
left:5px;
}
#dividebtn
{
display: none;
position: relative;
left:5px;
top:-30px;
}
最佳答案
document.getElementsById
不是函数。代码抛出一个异常(应该在您的控制台中可见)然后停止。
函数中没有 s
,因为它返回单个元素(因为 ID 在文档中必须是唯一的)。
关于javascript - javascript函数中的所有语句都没有被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39957411/