Javascript 如何在执行最后一个函数后刷新我的页面?
我试图在按下enter键后创建一个javascript程序,它将完成程序的执行,然后我的页面将刷新。我试图在上一个函数中添加一个if循环,但它不起作用 希望有人能帮我编码。因为我对HTML、CSS和javascript非常陌生 下面是我的程序:Javascript 如何在执行最后一个函数后刷新我的页面?,javascript,html,css,Javascript,Html,Css,我试图在按下enter键后创建一个javascript程序,它将完成程序的执行,然后我的页面将刷新。我试图在上一个函数中添加一个if循环,但它不起作用 希望有人能帮我编码。因为我对HTML、CSS和javascript非常陌生 下面是我的程序: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <!-- <meta http-equiv="refre
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<!-- <meta http-equiv="refresh" content="30"> -->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style>
body {
height: 100%;
width: 100%;
background-image: url("TPHRG floorplan1.png");
background-repeat: no-repeat;
background-attachment: fixed;
/* background-position: center; */
background-size: 980px 400px, cover;
}
.robot_start_top {
top: 280px;
transition: top 2s;
}
.robot_start_left {
position: fixed;
left: 600px;
transition: all 2s;
}
.robot_end_left {
left: 570px;
}
.robot_end_top {
top: 180px;
}
.robot1_start_left {
position: fixed;
left: 570px;
transition: left 4s;
}
.robot1_end_left {
left: 520px;
}
.robot2_start_left {
position: fixed;
left: 520px;
transition: left 4s;
}
.robot2_end_left {
left: 470px;
}
.robot3_start_left {
position: fixed;
left: 470px;
transition: left 4s;
}
.robot3_end_left {
left: 420px;
}
.robot3_start_right {
position: fixed;
left: 470px;
transition: left 4s;
}
.robot3_start_down {
position: fixed;
left: 180px;
transition: left 4s;
}
.robot3_end_down {
top: 280px;
}
.robot3_end_right {
left: 570px;
}
</style>
</head>
<body onkeydown="move(event)">
<div class="robot_start_left robot_start_top" id="app">
<img id="robot" style= width:30px; height:40px" src="pic_8.PNG">
</div>
<script>
var move = function(event) {
if (event.keyCode === 97) {
const appDiv = document.getElementById("app");
setTimeout(function() {
appDiv.classList.add("robot_end_top");
}, 0);
setTimeout(function() {
appDiv.classList.add("robot_end_left");
}, 2000);
}
if (event.keyCode === 98) {
const appDiv = document.getElementById("app");
setTimeout(function() {
appDiv.classList.add("robot_end_top");
}, 0);
setTimeout(function() {
appDiv.classList.add("robot1_end_left");
}, 2000);
}
if (event.keyCode === 99) {
const appDiv = document.getElementById("app");
appDiv.classList.add("robot2_end_left");
}
if (event.keyCode === 100) {
const appDiv = document.getElementById("app");
appDiv.classList.add("robot3_end_left");
}
if (event.keyCode === 13) {
const appDiv = document.getElementById("app");
setTimeout(function() {
appDiv.classList.add("robot3_end_down");
}, 2000);
setTimeout(function() {
appDiv.classList.add("robot3_end_right");
}, 0);
window.location = '';
}
}
</script>
</body>
</html>
文件
身体{
身高: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;
}
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);
window.location='';
}
}
只需在函数末尾使用
但是,您可能必须使用setTimeout(window.location.reload(true),0)
将重新加载设置为执行堆栈的末尾
var move=函数(事件){
如果(event.keyCode===97){
//代码
}
如果(event.keyCode===98){
//代码
}
如果(event.keyCode===99){
//代码
}
如果(event.keyCode===100){
//代码
}
如果(event.keyCode===13){
//代码
}
setTimeout(window.location.reload(true),0);
}
如果您遇到JavaScript问题,请标记JS,而不是java。爪哇!=javascript140行(错误)代码只是为了解决重新加载问题,下次缩短=>&&Hi,我尝试使用您的方法,但它不起作用。在执行我的键代码13之前刷新页面。希望你能帮助我。谢天谢地,我不确定setTimeout是否能正常工作;我不明白你怎么能在不对代码做更大修改的情况下使用承诺你最好的办法可能是为每个超时增加一个值,然后在最后的setTimeout中使用这个值-