var raster = document.querySelector ("canvas")
がHTMLファイルにある場合、ラスタが定義されて宣言されます。しかし、私は私のjsファイルにすべてを持っていたい、私のHTMLの関数呼び出しのみ。 .jsファイルにvar raster...
を入れてみると、null
が続きます。.jsファイルでdocument.querySelectorが機能しない
document.querySelector
に関連するHTMLファイルを指す方法はありますか?
// this doesn't work
//var raster = document.querySelector ("canvas").getContext ("2d");
function drawSquare (w,h) {
raster.fillStyle = "blue";
raster.fillRect (0,0,w,h);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>IFS</title>
<script src="IFS.js"></script>
</head>
<body>
<canvas width="500" height="500"></canvas>
<script>var raster = document.querySelector ("canvas").getContext ("2d");
drawSquare (500,500);</script>
</body>
</html>
IFS.jsとは何ですか? – Ouroborus
申し訳ありません。先頭のコード・ブロックは、IFS.jsファイルのコピー・ペーストです。下のブロックはIFS.htmlです。 – failure
あなたのスクリプトファイルは頭の中にあり、要素は体の中にあります。あなたの頭にjavascriptを置くと、その要素は身体の中の要素を見つけようとしているときにはまだ存在しません。 – adeneo