欢迎访问宙启技术站
智能推送

使用html5制作loading图的示例

发布时间:2023-05-15 18:17:10

使用HTML5制作loading图的示例是相当广泛的。下面就为大家介绍一下如何制作loading图的具体步骤。

步:创建画布

我们需要先在HTML中创建一个画布,代码如下:

<canvas id="canvas" width="500" height="500"></canvas>

这里需要注意的是,我们在canvas标签中使用了id属性来标识这个画布,因为在后面的JavaScript代码中我们需要使用这个id来获取这个canvas对象。

第二步:绘制loading图

我们需要在canvas中绘制一个loading图。代码如下:

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

var x = canvas.width / 2;
var y = canvas.height / 2;
var radius = 30;
var startAngle = 0;
var endAngle = Math.PI * 2;

ctx.beginPath();
ctx.arc(x, y, radius, startAngle, endAngle);
ctx.strokeStyle = "black";
ctx.lineWidth = 3;
ctx.stroke();

这里需要注意的是,我们在canvas中调用了getContext方法来获取2d绘图上下文,然后使用了arc方法来绘制了一个圆形。我们还设置了这个圆形的线条颜色和线条宽度。

第三步:制作旋转效果

我们需要使用setInterval方法来制作旋转效果。代码如下:

var angle = 0;
var intervalId = setInterval(function() {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.beginPath();
    ctx.arc(x, y, radius, startAngle, endAngle);
    ctx.strokeStyle = "black";
    ctx.lineWidth = 3;
    ctx.stroke();

    ctx.beginPath();
    ctx.moveTo(x, y);
    ctx.lineTo(x + radius * Math.cos(angle), y + radius * Math.sin(angle));
    ctx.strokeStyle = "red";
    ctx.lineWidth = 3;
    ctx.stroke();

    angle += 0.1;
}, 50);

我们设置了一个angle变量,用来记录旋转的角度。然后使用setInterval方法来定时执行描绘旋转的代码。在每次绘制之前,我们先使用clearRect方法来清除之前的绘制,然后再绘制一个新的圆形和一条从圆心指向旋转角度的线段。

第四步:停止旋转效果

我们需要使用clearInterval方法来停止旋转效果。代码如下:

setTimeout(function() {
    clearInterval(intervalId);
}, 5000);

我们使用setTimeout方法在5秒后调用clearInterval方法,以停止旋转效果。

综上所述,使用HTML5制作loading图的示例就完成了。我们首先需要创建一个canvas画布,然后在画布中绘制loading图,最后制作旋转效果并在一定的时间后停止旋转效果,从而达到动态展示loading状态的目的。