我是新来的,所以原谅我的无知。希望每个人都有一个伟大的星期五晚上。我正在一个网站上打印一张画布,在画布上会有一个栏杆,我的目标是在按'D'时简单地将栏杆向右延伸,并在按下'A'时向左退回。我正在使用函数fillRect,并且扩展右部分工作良好,而缩回部分根本不工作,因为我试图使用clearRect函数。 clearRect函数正在清除矩形的整个原始宽度,没有和画布的浅蓝色一起清除,留下一条灰色的苦味。这里是我的代码,如果您有任何想法,我可以设法清除灰色条的最后10个像素,同时在按下'A'时保留美丽的蓝色底层画布,我将永远感激。Javascript帆布问题
$(document).ready(function(){
var width=10;
$(document).keydown(function(key){
if(key.which === 68)
adjustWidth(1);
else if(key.which === 65)
adjustWidth(2);
});
var canvas=$("#canvas")[0];
var ctx = canvas.getContext("2d");
var w = $("#canvas").width();
var h = $("canvas").height();
ctx.fillStyle = "#C1DAD6";
ctx.fillRect(0,0,w,h);
ctx.strokeStyle="black";
ctx.strokeRect(0,0,w,h);
function adjustWidth(iw)
{ ctx.fillStyle = "grey";
if(iw===1){
ctx.fillRect(0,100,width+10,5)
width+=10;
}
else if(iw===2){
ctx.clearRect(0,100,width,5)
width-=10;
}
}
});
可你只是'fillRect'蓝色,而不是将其清除? – akonsu