![](/img/trans.png)
[英]Can't call function from body onload (uncaught reference error: resetLoginForm is not defined) javascript
[英]Can't call function from body onload (uncaught reference error: start is not defined) javascript
我有一個body onload在javascript中調用一個函數。 我嘗試了很多東西,但控制台只是打印到錯誤日志:未捕獲的引用錯誤:未定義啟動。 我認為這可能是一個故障,如果它適合你,請通知我。 我的代碼如下:
<!DOCTYPE html> <html> <head> <title>Monster Invasion</title> <script type="javascript"> var hur; var monsters = 10; var objective = false; var health = 100; var damage = 30; var sheild = false; var ea = 1; function start() { setTimeout(hurt,4000) } function hurt() { var newhelth = health - damage; health = newhelth; document.getElementById("healtw").innerHTML = health; start(); } function kill() { if(monsters > 0) { monsters--; document.getElementById("monster1").src="dead.jpg" setTimeout(next,2000) }else { objective = true; document.location="endoflevel.html"; } } function next() { document.getElementById("monster1").src="monster.jpg" } } </script> </head> <body onload="start()"> <p id="healtw"></p> <embed src="guide_first_level.mp3" type="audio/mp3" hidden="true" autostart="true"> <a id="st" onclick="kill()"><img id="monster1" src="monster.jpg"></a> <p id="ada"></p> <a href="sheild.html">Activate sheild</a> </body> </html>
你的腳本類型錯了
試試這樣
<script type="text/javascript">
</script>
但是你不需要提到腳本類型
只需使用普通腳本標記
像這樣
<script>
</script>
在腳本標記結束之前添加一個額外的東西}
。
只是刪除它
function next() {
document.getElementById("monster1").src="monster.jpg"
}
} // <-- just remove this bracket
</script>
您的代碼有兩個問題。
javascript不是瀏覽器中腳本的有效類型。 瀏覽器知道text/javascript
,但不僅僅是javascript ,這就是你的代碼沒有被執行的原因。 更改type屬性或將其刪除(對於text/javascript
是默認值)。
代碼末尾有一個額外的括號}。 刪除它,你的代碼將正常工作。
有3個錯誤:
type
}
window.onload
,而不是使用onload()
作為body
標記,以確保在文檔准備好后運行start()
函數: ...
<head>
<title>Monster Invasion</title>
<script type="text/javascript">
window.onload = function(){
// Put all your code here
// And at the end run start() function
start();
}
</script>
</head>
<body>
...
對於你們中的一些人,使用外部js文件,請檢查你是否鏈接了你的文件:)...因為我有同樣的錯誤,但我查看了我的代碼..我沒有鏈接然后文件!
以防你來這里尋找答案!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.