作为Web开发的新手,我面临一个奇怪的问题,我正在学习一个教程,并且做的事情与讲师完全相同,但是他没有遇到任何我所面临的问题。问题在于,当javascript提示您进行一些输入时,网页变黑了,输入完成后,网页再次出现。
附有屏幕截图!
var todo = [];
var input = prompt("What you gonna do?");
while ( input !== "exit") {
if(input === "list") {
console.log(todo);
}
else if (input === "new") {
//ask for new todo
var NewTodo = prompt("Enter the new todo");
//Add new todo to array
todo.push(NewTodo);
}
var input = prompt("What you gonna do?");
}
console.log("You are quitting");
<!DOCTYPE html>
<html>
<head>
<title>TODO PRACTICE</title>
<script src="TODO.js" type="text/javascript"> </script>
</head>
<body>
<ul>
<li>"List"- list all todo</li>
<li>"Add"-Add a new todo</li>
<li>"Exit"-Exit the app</li>
</ul>
</body>
</html>
预先感谢您的关注。
答案 0 :(得分:1)
此问题是由于在head
标签内加载了javascript。更具体地说,问题是由于prompt
对话框引起的。在HTML
对话框消失之前,不会加载body
标记内的prompt
。
解决方案
将script
标签从head
移到结尾body
标签之前。
提示,请始终在加载HTML后 加载javascript。
<!DOCTYPE html>
<html>
<head>
<title>TODO PRACTICE</title>
</head>
<body>
<ul>
<li>"List"- list all todo</li>
<li>"Add"-Add a new todo</li>
<li>"Exit"-Exit the app</li>
</ul>
<script src="TODO.js" type="text/javascript"> </script>
</body>
</html>
答案 1 :(得分:0)
使用异步延迟标记将加载javascript脚本的时间延迟到加载其他资源之后。 例子