JavaScript函数在睡眠时未按正确顺序执行
我想隐藏一个元素,并在一秒钟后显示一个新元素 以下是简化代码:JavaScript函数在睡眠时未按正确顺序执行,javascript,html,Javascript,Html,我想隐藏一个元素,并在一秒钟后显示一个新元素 以下是简化代码: 函数睡眠(毫秒){ var start=new Date().getTime(); 对于(变量i=0;i毫秒){ 打破 } } } 函数loadNewSubmenu() { document.getElementById(“content-1”).className=“隐藏部分”; 睡眠(1000); document.getElementById(“content-2”).className=“show part”; } 。隐藏
函数睡眠(毫秒){
var start=new Date().getTime();
对于(变量i=0;i<1e7;i++){
如果((新日期().getTime()-start)>毫秒){
打破
}
}
}
函数loadNewSubmenu()
{
document.getElementById(“content-1”).className=“隐藏部分”;
睡眠(1000);
document.getElementById(“content-2”).className=“show part”;
}
。隐藏零件{
显示:无;
}
B1
地下二层
单击我
只需使用
函数loadNewSubmenu(){
document.getElementById(“content-1”).className=“隐藏部分”;
setTimeout(函数(){
document.getElementById(“content-2”).className=“show part”;
}, 1000)
}
。隐藏零件{
显示:无;
}
B1
地下二层
单击我
使用设置超时而不是睡眠
函数loadNewSubmenu()
{
document.getElementById(“content-1”).className=“隐藏部分”;
setTimeout(函数(){document.getElementById(“content-2”).className=“show part”},1000);
}
。隐藏零件{
显示:无;
}
B1
地下二层
单击我
您可以使用设置超时()代码>以下是一个示例:`
<script>
function loadNewSubmenu()
{
document.getElementById("content-1").className = "hide-part";
setTimeout(function(){
document.getElementById("content-2").className = "show-part";
},1000);
}
</script>`
函数loadNewSubmenu()
{
document.getElementById(“content-1”).className=“隐藏部分”;
setTimeout(函数(){
document.getElementById(“content-2”).className=“show part”;
},1000);
}
`
不要使用睡眠
而是设置超时
。你有两个相同ID的元素,这是错误的。可能重复的可能重复的或@Andreas实际上我只是想知道为什么JavaScript先执行sleep()
,然后执行document.getElementById().classname
,我问错了question@Aria我问错了这个问题,我想知道为什么JavaScript执行sleep()首先是document.getElementById().classname