利用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 清空file域示例(兼容个浏览器)
Oct 11 Javascript
引用外部脚本时script标签关闭的写法
Jan 20 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
限制只能输入数字的实现代码
May 16 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
JS实现图片拖拽交换效果
Nov 30 Javascript
解决vue单页面应用中动态修改title问题
Jun 09 Javascript
Vue如何实现组件间通信
May 15 Vue.js
JS实现刷新网页后之前浏览位置保持不变示例详解
Aug 14 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
德生H-501的评价与改造
2021/03/02 无线电
php创建无限级树型菜单
2015/11/05 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
自己的js工具 Event封装
2009/08/21 Javascript
javascript &&和||运算法的另类使用技巧
2009/11/28 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
简单谈谈python的反射机制
2016/06/28 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
空中乘务员岗位职责
2014/03/08 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
大学生军训感言
2015/08/01 职场文书