利用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 相关文章推荐
JavaScript 特殊字符
Apr 05 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
Feb 03 Javascript
js的.innerHTML = ""IE9下显示有错误的解决方法
Sep 16 Javascript
在父页面调用子页面的JS方法
Sep 29 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 Javascript
js调试系列 源码定位与调试[基础篇]
Jun 18 Javascript
Node.js中路径处理模块path详解
Nov 14 Javascript
详解node.js平台下Express的session与cookie模块包的配置
Apr 26 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
vue实现跨域的方法分析
May 21 Javascript
JS数组扁平化、去重、排序操作实例详解
Feb 24 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读取汉字的点阵数据
2015/06/22 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JsRender实用入门教程
2014/10/31 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
快速入门Vue
2016/12/19 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
微信小程序tabbar底部导航
2018/11/05 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
.net笔试题
2014/03/03 面试题
党风廉设责任书
2014/04/16 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
文明单位汇报材料
2014/12/24 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
大学推普周活动总结
2015/05/07 职场文书
钢琴师观后感
2015/06/12 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle