HTML页面看起来像是在javascript运行后加载的。为什么h1的初始HTML具有color=orange的样式,但在加载期间从未在页面上观察到?

HTML页面看起来像是在javascript运行后加载的。为什么h1的初始HTML具有color=orange的样式,但在加载期间从未在页面上观察到?,javascript,html,Javascript,Html,我希望下面的代码加载一个显示“橙色”的页面,5秒钟后更新为“蓝色”,但不幸的是页面只加载“蓝色”。如果我取消注释警报,它将显示第一个“橙色”。为什么会这样 wait(5000); 控制台日志(“练习001”); const updatedH1=document.queryselectoral('h1'); updatedH1.forEach(itemx=>{ itemx.style.color='蓝色'; itemx.innerText='蓝色'; }); 函数等待(毫秒){ 让开始=新日期(

我希望下面的代码加载一个显示“橙色”的页面,5秒钟后更新为“蓝色”,但不幸的是页面只加载“蓝色”。如果我取消注释警报,它将显示第一个“橙色”。为什么会这样

wait(5000);
控制台日志(“练习001”);
const updatedH1=document.queryselectoral('h1');
updatedH1.forEach(itemx=>{
itemx.style.color='蓝色';
itemx.innerText='蓝色';
});
函数等待(毫秒){
让开始=新日期().getTime();
让结束=开始;
同时(结束<开始+毫秒){
end=新日期().getTime();
}
}
.err{
填充:10px;
颜色:深红色;
边界:1倍深红色点;
}

橙色

此处不需要自定义等待功能本例中有一个内置方法,名为
setTimeout
,它是一个web浏览器API,用于设置计时器,并在计时器耗尽后执行其中的函数。

所以您的最终代码应该是这样的:

setTimeout(函数(){
控制台日志(“练习001”);
const updatedH1=document.queryselectoral('h1');
updatedH1.forEach(itemx=>{
itemx.style.color='蓝色';
itemx.innerText='蓝色';
});
},5000)
.err{
填充:10px;
颜色:深红色;
边界:1倍深红色点;
}

橙色

此处不需要自定义等待功能本例中有一个内置方法,名为
setTimeout
,它是一个web浏览器API,用于设置计时器,并在计时器耗尽后执行其中的函数。

所以您的最终代码应该是这样的:

setTimeout(函数(){
控制台日志(“练习001”);
const updatedH1=document.queryselectoral('h1');
updatedH1.forEach(itemx=>{
itemx.style.color='蓝色';
itemx.innerText='蓝色';
});
},5000)
.err{
填充:10px;
颜色:深红色;
边界:1倍深红色点;
}

橙色

我建议在您创建的while循环中使用setTimeout

window.setTimeout(()=>{
const updatedH1=document.querySelectorAll(“h1”);
updatedH1.forEach(itemx=>{
itemx.style.color=“蓝色”;
itemx.innerText=“蓝色”;
});
控制台日志(“练习001”);
}, 3000);

橙色

我建议在您创建的while循环中使用setTimeout

window.setTimeout(()=>{
const updatedH1=document.querySelectorAll(“h1”);
updatedH1.forEach(itemx=>{
itemx.style.color=“蓝色”;
itemx.innerText=“蓝色”;
});
控制台日志(“练习001”);
}, 3000);

橙色

使用
wait()
函数的方法实际上是一种糟糕的做法。尝试只使用
setTimeout
。还有,是否有任何加载的ajax内容没有显示出来?使用
wait()
函数的方法确实是一种糟糕的做法。尝试只使用
setTimeout
。还有,是否有任何加载的ajax内容未显示?感谢您提供的解决方案,但我不清楚为什么等待函数没有按预期工作(当我在HTML中启用(取消注释)警报时,它会按预期工作)。@Elias这不是很复杂,警报函数是一个web API,因此每当您取消注释它时,这将阻止脚本同步运行,因此在关闭警报之前,代码不会运行。您可以了解有关web API的更多信息。@Elias
wait
函数不是一个很好的实践,因为它会阻止您的执行运行时,因为javascript是一种单线程语言,所以您的代码将占用大量ram(因为您的运行时间太长)。因此,最好使用本机API,如
setTimeout
。很抱歉,由于我是JS中的新手,所以理解得更好:因为我知道HTML代码是自上而下执行/呈现的,而不考虑我的javascript(因为它是最后一个body标记)。所以,如果它以这种方式呈现,为什么我不观察“橙色”h1,如果我使用等待函数。HTML呈现是否按顺序进行?Thnksthank感谢解决方案,但我不清楚为什么wait函数没有按预期工作(当我在HTML中启用(取消注释)警报时,它会按预期工作)。@Elias这不是很复杂,警报函数是一个web API,因此无论何时取消注释,都会阻止脚本同步运行,因此,在关闭警报之前,您的代码不会运行。您可以了解有关web API的更多信息。@Elias
wait
函数不是一个很好的实践,因为它会阻止您的执行运行时,因为javascript是一种单线程语言,所以您的代码将占用大量ram(因为您的运行时间太长)。因此,最好使用本机API,如
setTimeout
。很抱歉,由于我是JS中的新手,所以理解得更好:因为我知道HTML代码是自上而下执行/呈现的,而不考虑我的javascript(因为它是最后一个body标记)。所以,如果它以这种方式呈现,为什么我不观察“橙色”h1,如果我使用等待函数。HTML呈现是否按顺序进行?thnks