原生JavaScript实现Loading进度条组件
本文介绍如何使用原生JavaScript编写一个轻量级的Loading进度条组件。通过定义Loading构造函数,接收图片数组和回调函数,动态加载图片并更新进度。同时提供setCss方法支持个性化样式配置,实现可扩展的进度条效果。
基本思路
一、基本思路
为满足现有需求并保持代码轻便,我们采用原生JavaScript编写一个名为“Loading”的构造函数。该函数接收两个参数:arr(图片数组)和callback(完成后的回调函数)。构造函数内部遍历图片数组进行加载,每加载完成一张图片便更新进度条状态,直至所有图片加载完毕,进度条显示为100%。
实现步骤
二、实现步骤
(1)首先构建进度条的基础结构,编写相应的HTML和CSS代码。


完成后预览进度条的初始效果。

(2)编写Loading构造函数。在进度条的init方法执行时,动态添加并渲染进度条的HTML结构和CSS样式。至此,进度条模块开发完毕,使用时只需引入该构造函数并实例化对象即可。

(3)实例化一个进度条对象。

组件改进
三、改进
该组件的可扩展性相对有限,主要体现在进度条样式的定制上。为了支持不同实例拥有不同的样式,我们在构造函数中增加了this.setCss方法,以实现个性化样式配置。具体修改如下:

若需将进度条颜色设置为红色(非默认的#01ffff),可在初始化前调用setCss方法。

页面显示效果如下。

总结
四、总结
该进度条插件已开发完成,但仍存在诸多优化空间,例如加载动画可更加流畅、样式配置可更简洁、代码可读性需提升等。优化之路无止境,仍需持续努力。
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
