Javascript 图形不显示在屏幕上

Javascript 图形不显示在屏幕上,javascript,html,canvas,Javascript,Html,Canvas,我正在尝试用HTML5开发一款游戏。现在,代码应该在网页上显示画布,但它没有这样做。(我正在看一段教程视频) 以下是HTML的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

我正在尝试用HTML5开发一款游戏。现在,代码应该在网页上显示画布,但它没有这样做。(我正在看一段教程视频)

以下是HTML的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

</head>

<body>
<script src="jquery-1.11.1.min.js" type="text/javascript"></script>
<canvas id="GameCanvas"></canvas>
<script src="game.js" type="text/javascript"></script>

</body>

</html>
// JavaScript Document

var canvasWidth = 800;
var canvasHeight = 600;

$('#gameCanvas').attr('width', canvasWidth);
$('#gameCanvas').attr('width', canvasHeight);

var canvas = $('#gameCanvas')[0].getContext('2d');

canvas.strokeRect(0, 0, canvasWidth, canvasHeight);

var image = new Image();
image.src = "ship.png";

canvas.drawImage(image, canvasWidth / 2, canvasHeight / 2);
以下是我正在使用的目录的屏幕截图:

vs

$('gameCanvas')


您的ID不匹配。

除了麦克风回答之外,还有两个问题:

首先:您的HTML文档不是HTML5,请查看您的Doctype

第二:图像必须完全加载,除非您可以在画布上绘制。只需使用onload回调:

var image = new Image();
image.onload = function(){
    canvas.drawImage(image, canvasWidth / 2, canvasHeight / 2);
}
image.src = "ship.png";