因此,当使用JavaScript加载页面时,我有一个值。我想获得该值,因此我从第二个JS文件中执行document.getElementById(“”)。innerHTML。 我的问题是没有抓住价值。
我通过在获取值后添加一个单词来检查(这是在第二个JS文件中完成的)。刷新页面后,仅显示单词,而不是预期值+单词。
此外,该单词仅显示片刻,然后被该值覆盖。我怀疑第二个JS文件是在第一个JS文件之前被加载的,并且自从第一个JS文件被加载之后,该值尚未被写入,因此第二个JS文件无法获取它。
我不确定我的怀疑是否准确,但如果是的话,我有什么方法可以解决这个问题吗?如果没有,我在这里遇到的问题是什么?
这是我的html文件的正文,其中写入了值:
<body onload="update()">
<div id="height"></div>
<ul class="board list-group" style="overflow:hidden">
<div id="lb"></div>
</ul>
</body>
</html>
这是我的第一个JS文件的一部分,我正在编写我想要的值:
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
resultString = xmlhttp.responseText;
arrayInfo = resultString.split(";");
document.getElementById("height").innerHTML = arrayInfo.length;
}
};
这是我的第二个JS文件中的部分,我试图获取该值:
max = 1000;
temp = document.getElementById("height").innerHTML;
document.getElementById("height").innerHTML += temp + "test";
offset = min = 0;
pressed = false;
答案 0 :(得分:0)
在您的第一个JS文件中,您似乎正在使用Ajax调用,这通常需要一些时间才能完成。无论第一个文件的成功功能是否完成,都将调用第二个脚本。
为了安全起见,只有在加载页面(包括第二个js脚本)之后才启动Ajax调用( - &gt;将其打包到函数update()
中)。在您的第二个JS文件中,您应该将所需的操作封装到另一个函数(update2()
)中。然后应该从第一个JS文件的success函数中调用此函数。