1 回答

TA贡献1780条经验 获得超4个赞
您只缺少一个beginPath,请参阅下面的代码
const c = document.getElementById('c');
const ctx = c.getContext('2d');
const { height } = ctx.canvas;
var x = 0;
const interval = setInterval(() => {
x += 2;
if (x > 500) clearInterval(interval);
margin = x/5;
gradient = ctx.createLinearGradient(0, margin, 0, height-margin);
gradient.addColorStop(0, `rgba(0,0,0,0)`);
gradient.addColorStop(0.5, `rgba(0,0,0,1)`);
gradient.addColorStop(1.0, `rgba(0,0,0,0)`);
ctx.strokeStyle = gradient;
ctx.beginPath();
ctx.moveTo(x, margin);
ctx.lineTo(x, height-margin);
ctx.stroke();
},10)
<canvas id="c" height="100" width="500"></canvas>
添加回答
举报