|
|

楼主 |
发表于 2022-3-9 14:37
|
显示全部楼层
你想要的不是定时擦除,而是想一点一点擦除。这想法好,要编写一个程序。以下是自上而下擦除,可以修改、添加数据产生不同方向的擦除效果:
<canvas id="mycv" style="border: 1px solid;"></canvas><br><br>
<input id="del" type="button" value=" 慢慢擦除 " />
<script>
var rx = 1; //擦除线像素
var del; //擦除动作句柄
var mycv = document.getElementById("mycv");
var mycvt = mycv.getContext("2d");
//画一个大矩形
mycvt.fillStyle = "tomato";
mycvt.fillRect(10, 10, mycv.width - 20, mycv.height - 20 );
document.getElementById("del").onclick = function(){
del = setInterval(delNow,10);
}
//擦除函数:从上往下擦除
function delNow(){
mycvt.clearRect(0, 0, mycv.width, rx);
rx += 1;
//console.log("rx值:", rx); //按F12→控制台可查看rx值的变化
if(rx >= mycv.height) clearInterval(del);
}
</script> |
|