Я здесь новый, так простите мое невежество. Надеюсь, что у всех будет отличная пятница. Я работаю над веб-сайтом, на котором будет холст, и на этом полотне будет бар, моя цель - просто заставить панель расширяться, когда я нажимаю «D» и убираюсь влево, когда нажимаю «A». Я использую функцию fillRect, и расширяющаяся правая часть работает отлично, пока втягивающая часть вообще не работает, поскольку я пытаюсь использовать функцию clearRect. Функция clearRect очищает всю исходную ширину моего прямоугольника без и голубого цвета моего холста вместе с ним, оставляя полосу серой горечи. Вот мой код, и если кто-нибудь из вас знает, как мне удастся очистить последние 10 пикселей моей серой полосы, оставив красивую синюю основу холста нетронутой, когда я нажимаю «А», я буду бесконечно благодарен.Javascript Canvas issue
$(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