【发布时间】:2017-03-05 12:33:16
【问题描述】:
首先,我是画布的新手,我已经尝试了 2 天来解决这个问题,所以我非常感谢任何帮助。我的目标是让绿色矩形一次向上移动 1 个像素(现在这个数量并不重要),但我最终也想对红色矩形做同样的事情。如果我注释掉for循环,您可以在我想要的起始位置看到矩形,但是当我在画布中添加for循环时是空白的,而理论上我希望绿色矩形向上移动。 (或向下,实际上并不重要)。
$(document).ready(function() {
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d"),
cw = canvas.width,
ch = canvas.height;
function rectangles() {
var y = 0;
// Starting point rectangles
ctx.save();
ctx.clearRect(0, 0, cw, ch);
ctx.beginPath();
ctx.fillStyle = "#006847";
ctx.fillRect(0, 0, 200, 450);
ctx.closePath();
ctx.beginPath();
ctx.fillStyle = "#CE1126";
ctx.fillRect(400, 0, 200, 450);
ctx.closePath();
ctx.save();
/*for (i = 0; i < 450; i++) {
y = y + 1;
ctx.beginPath();
ctx.fillRect(0, y, 200, 450);
ctx.closePath();
ctx.clearRect(0, 0, cw, ch);
}*/
}
setInterval(rectangles, 2000);
});
CSS : #canvas {
border: 3px #000 solid;
margin: 0 auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div id="canvas-container">
<canvas id="canvas" height="450" width="600"></canvas>
</div>
【问题讨论】:
标签: javascript css html canvas