利用js编写网页进度条效果


Posted in Javascript onOctober 08, 2017

一、基本思路

为了让我们编写的网页进度条满足现有需求,又足够轻便,所以使用原生js写一个构造函数,为了见名知义,可以把该函数命名为”Loading”。该函数接收2个参数,分别为arr、callback。其中arr定义图片数组,callback定义执行完成后回调函数。该构造函数内部,遍历图片数组加载图片,每加载完一张图片,修改进度条进度,直至全部加载完成,进度条进度为100%。

二、实现步骤

(1)先搭建好进度条的样子,把html和css写好。

利用js编写网页进度条效果

利用js编写网页进度条效果

写完后预览一下进度条的效果

利用js编写网页进度条效果

(2)编写Loading构造函数。在该构造函数中,把进度条的css和html在执行进度条init方法时动态添加和渲染。至此,进度条模块已经编写好,使用时只需要引入该构造函数,并实例化一个对象。

利用js编写网页进度条效果

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

利用js编写网页进度条效果

三、改进

该组件的可扩展性稍弱,主要表现为进度条样式上,可以根据不同进度条实例来定义进度条样式。所以可以在构造函数中增加一个this.setCss方法,实现不同进度条实例的个性化。修改如下:

利用js编写网页进度条效果

如果进度条颜色为红色,不是默认的#01ffff,则在初始化前调用setCss方法。

利用js编写网页进度条效果

页面效果如下

利用js编写网页进度条效果

四、总结

该进度条插件已经开发完成,仍有很多可优化的点,比如加载进度条的动画可以更加优雅,配置样式时可以更简洁,代码的可读性等。优化无止境,同学仍需努力。

Javascript 相关文章推荐
js几个不错的函数 $$()
Oct 09 Javascript
JS去除数组重复值的五种不同方法
Sep 06 Javascript
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
超级好用的jQuery圆角插件 Corner速成
Aug 31 Javascript
JS根据生日算年龄的方法
May 05 Javascript
JS实现方向键切换输入框焦点的方法
Aug 19 Javascript
原生js实现addClass,removeClass,hasClass方法
Apr 27 Javascript
vscode配置vue下的es6规范自动格式化详解
Mar 20 Javascript
swiper4实现移动端导航切换
Oct 16 Javascript
VUE解决 v-html不能触发点击事件的问题
Oct 28 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 Vue.js
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 #Javascript
JS动态修改网页body的背景色实例代码
Oct 07 #Javascript
JS实现简单表格排序操作示例
Oct 07 #Javascript
javascript数组定义的几种方法
Oct 06 #Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 #Javascript
node.js中http模块和url模块的简单介绍
Oct 06 #Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 #Javascript
You might like
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
PHP实现小偷程序实例
2016/10/31 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
Laravel下生成验证码的类
2017/11/15 PHP
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
js+canvas绘制图形验证码
2020/09/21 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
python编程培训 python培训靠谱吗
2018/01/17 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
基于Pytorch SSD模型分析
2020/02/18 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
python要安装在哪个盘
2020/06/15 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
应届毕业生自我评价分享
2013/12/15 职场文书
师范生自我鉴定
2014/03/20 职场文书
保研推荐信
2014/05/09 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
大学生在校表现评语
2014/12/31 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技