利用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 相关文章推荐
检测jQuery.js是否已加载的判断代码
May 20 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
Apr 15 Javascript
jsp+javascript打造级连菜单的实例代码
Jun 14 Javascript
javascript中普通函数的使用介绍
Dec 19 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
Jun 12 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
Jul 07 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
微信小程序以ssm做后台开发的实现示例
Apr 08 Javascript
Antd的table组件表格的序号自增操作
Oct 27 Javascript
HTML+VUE分页实现炫酷物联网大屏功能
May 27 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获取汉字的拼音(全部与首字母)
2013/06/27 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
JavaScript 事件记录使用说明
2009/10/20 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
Python爬取某平台短视频的方法
2021/02/08 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
如何理解委托
2012/01/06 面试题
美德少年事迹材料
2014/01/23 职场文书
租房合同协议书
2014/04/09 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
小学教师自我评价
2015/03/04 职场文书
离婚起诉书范本
2015/05/18 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js