未捕获的TypeError:无法读取null的属性'getContext'

Pum*_*n_M 5 javascript particles

在我的控制台我得到的错误:"遗漏的类型错误:不能为空的读取属性'的getContext’"我只是找不到我做了错误......或者我做了什么错.那么也许你可以帮我找到它?请帮忙 :)

enter code here

var canvas = document.getElementById("myCanvas");

var ctx = canvas.getContext("2d");

var cW = canvas.width = 1000; 
var cH = canvas.height = 500; 

var particleAmount = 10; 
var particles = []; 

for(var i=0;i<particleAmount;i++) { 
particles.push(new particle());

}

function particle() { 
this.x = (Math.random() * (cW-(40*2))) + 40; 
this.y = (Math.random() * (cH-(40*2))) + 40; 
this.xv = Math.random()*20-10; 
this.yv = Math.random()*20-10; 

}

function draw () { 
ctx.fillStyle = "black";
ctx.fillRect(0,0,cW,cH);

for(var ii=0;ii<particles.length;ii++){
    var p = particles[ii]; 
    ctx.fillStyle = "red";
    ctx.beginPath(); 
    ctx.arc(p.x,p.y,40,Math.PI*2,false); 
    ctx.fill();
}


}

setInterval(draw,30);
Run Code Online (Sandbox Code Playgroud)

gil*_*t-v 5

该错误基本上意味着HTML和JavaScript代码没有正确协作,或者只是没有正确加载脚本.
试试这个:

function init() {
  // Run your javascript code here
}

document.addEventListener("DOMContentLoaded", init, false);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Pum*_*n_M 3

答案就在问题后面的评论里!其他人也将其作为答案发布在下面,但全部归功于:@elclanrs

\n\n

“对,所以画布还不存在。在画布元素后面加载脚本。\xe2\x80\x93 elclanrs Sep 13 \'14 at 22:43”

\n