Javascript 为什么我的程序在我的页面刷新之前没有执行?

Javascript 为什么我的程序在我的页面刷新之前没有执行?,javascript,html,css,Javascript,Html,Css,我试图在按下enter键后创建一个JavaScript程序,它将完成程序的执行,然后我的页面将刷新。我试图在上一个函数中添加一个if循环,但它不起作用 我对HTML、CSS和JavaScript非常陌生 下面是我的程序: var move=函数(事件){ 如果(event.keyCode===97){ const appDiv=document.getElementById(“应用”); setTimeout(函数(){ appDiv.classList.add(“robot_end_top”

我试图在按下enter键后创建一个JavaScript程序,它将完成程序的执行,然后我的页面将刷新。我试图在上一个函数中添加一个if循环,但它不起作用

我对HTML、CSS和JavaScript非常陌生

下面是我的程序:

var move=函数(事件){
如果(event.keyCode===97){
const appDiv=document.getElementById(“应用”);
setTimeout(函数(){
appDiv.classList.add(“robot_end_top”);
}, 0);
setTimeout(函数(){
appDiv.classList.add(“robot_end_left”);
}, 2000);
}
如果(event.keyCode===98){
const appDiv=document.getElementById(“应用”);
setTimeout(函数(){
appDiv.classList.add(“robot_end_top”);
}, 0);
setTimeout(函数(){
appDiv.classList.add(“机器人1_end_left”);
}, 2000);
}
如果(event.keyCode===99){
const appDiv=document.getElementById(“应用”);
appDiv.classList.add(“机器人2_end_left”);
}
如果(event.keyCode===100){
const appDiv=document.getElementById(“应用”);
appDiv.classList.add(“机器人3_end_left”);
}
如果(event.keyCode===13){
const appDiv=document.getElementById(“应用”);
setTimeout(函数(){
appDiv.classList.add(“robot3_end_down”);
}, 2000);
setTimeout(函数(){
appDiv.classList.add(“机器人3结束右”);
}, 0);
setTimeout(window.location.reload(true),0);
}
}
正文{
身高:100%;
宽度:100%;
背景图片:url(“TPHRG Floorplan 1.png”);
背景重复:无重复;
背景附件:固定;
/*背景位置:中心*/
背景尺寸:980px400px,封面;
}
.机器人\u启动\u顶部{
顶部:280px;
过渡:前2名;
}
.机器人\启动\左{
位置:固定;
左:600px;
过渡:所有2;
}
.robot_end_左{
左:570px;
}
.robot_end_top{
顶部:180像素;
}
.机器人1_开始_左{
位置:固定;
左:570px;
过渡:左4s;
}
.机器人1_结束_左{
左:520像素;
}
.机器人2_开始_左{
位置:固定;
左:520像素;
过渡:左4s;
}
.机器人2_结束_左{
左:470px;
}
.机器人3_开始_左{
位置:固定;
左:470px;
过渡:左4s;
}
.机器人3_结束_左{
左:420px;
}
.机器人3_开始_正确{
位置:固定;
左:470px;
过渡:左4s;
}
.机器人3\u启动\u关闭{
位置:固定;
左:180像素;
过渡:左4s;
}
.机器人3_结束_关闭{
顶部:280px;
}
.机器人3_结束_右{
左:570px;
}

文件
那不是你想象的那样。它将立即重新加载,使
setTimeout
无效

请尝试以下方法:

setTimeout(function() { window.location.reload(true); }, 0);
或者,如果可以使用箭头功能:

setTimeout(() => window.location.reload(true), 0);
那不是你想象的那样。它将立即重新加载,使
setTimeout
无效

请尝试以下方法:

setTimeout(function() { window.location.reload(true); }, 0);
或者,如果可以使用箭头功能:

setTimeout(() => window.location.reload(true), 0);

我尝试了这个方法,但是在我的程序执行之前它仍然会刷新。如果您试图在0毫秒内执行该函数,那么只要您按enter键,它就会立即执行。您的代码正在执行您指示它执行的操作。你能尝试增加setTimeOut中的时间吗?非常感谢,你的解释让我更好地理解了。我尝试了这一点,但在我的程序执行之前它仍然会刷新。如果你试图在0毫秒内执行函数,那么只要你按enter键,它就会执行。你的代码正在执行你指示它执行的操作。你能试着增加setTimeOut中的时间吗?非常感谢,你的解释让我更好地理解了。你是说“如果循环”还是“如果条件”?对不起,你是什么意思?我想要的是在我的keycode13函数完成后获得页面刷新。希望你能帮我解决这个问题。我指的是你帖子中的误解。你的问题已经有答案了。你是说“如果循环”还是“如果条件”?对不起,你是什么意思?我想要的是在我的keycode13函数完成后获得页面刷新。希望你能帮我解决这个问题。我指的是你帖子中的误解。你的问题已经有答案了。