No i ślicznie dziękuję za podpowiedź

chociaż nie wiedziałem o metodzie clearRect i trochę mi to zajęło

Temat do zamknięcia

Podrzucam rozwiązanie

function draw(){
an();
doMove();
}
function an(){
c = document.getElementById("myCanvas");
c.width = Math.max(window.innerWidth, document.body.clientWidth) - 10;
c.height = Math.max(window.innerHeight, document.body.clientHeight) - 800;
d = document.getElementById("test");
e = document.getElementById("test2");
ctx = c.getContext("2d");
ctx.fillStyle = "blue";
x = 330;
y = 80;
cx = 10;
cx2 = 0;
cy = 15;
tab = 100;
cz = false;
this.doMove = function(){
if(cz == true){
--cx;
--cx2;
if(cx2 <= -tab){
cx2 = 0;
}
ctx.clearRect(x+tab, y, cx2, cy);
setTimeout(doMove,20);
if (cx == 0) cz = false;
}else if(cz == false) {
cx++;
ctx.fillRect(x, y, cx, cy);
setTimeout(doMove,20);
if(cx >= tab) cz = true;
}
//e.innerHTML = cx2;
d.innerHTML= "x: " + cx + "<br /> y: " + cy + "<br />cx: " +cx2;
}
}
draw();