javascript

时间:2019-01-11 06:38:55

标签: javascript html

作为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>

See Attached 预先感谢您的关注。

2 个答案:

答案 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脚本的时间延迟到加载其他资源之后。 例子