利用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 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
MooTools 页面滚动浮动层智能定位实现代码
Aug 23 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
Jul 15 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
Aug 12 Javascript
JavaScript 实现鼠标拖动元素实例代码
Feb 24 Javascript
javascript操作符"!~"详解
Feb 10 Javascript
js实现九宫格拼图小游戏
Feb 13 Javascript
vue mint-ui学习笔记之picker的使用
Oct 11 Javascript
vue如何判断dom的class
Apr 26 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
vue实现选中效果
Oct 07 Javascript
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日期时间函数的高级应用技巧
2009/05/16 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
ext实现完整的登录代码
2008/08/08 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
详解python的ORM中Pony用法
2018/02/09 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
python自动生成model文件过程详解
2019/11/02 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
煤矿班组长岗位职责
2013/12/29 职场文书
初婚未育证明
2014/01/15 职场文书
给儿子的表扬信
2014/01/15 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
移交协议书
2014/08/19 职场文书
先进员工事迹材料
2014/12/20 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
建党伟业观后感
2015/06/01 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python