利用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 ajax获取网站Alexa排名的代码
Dec 12 Javascript
如何让页面加载完成后执行js
Jun 26 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
javascript实现限制上传文件大小
Feb 06 Javascript
javascript中sort排序实例详解
Jul 24 Javascript
jQuery事件详解
Feb 23 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
详解Layer弹出层样式
Aug 21 Javascript
React-Native使用Mobx实现购物车功能
Sep 14 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 Javascript
JS用最简单的方法实现四舍五入
Aug 27 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 curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
php数据序列化测试实例详解
2017/08/12 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Django发送html邮件的方法
2015/05/26 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
python实现微信自动回复功能
2018/04/11 Python
Django 视图层(view)的使用
2018/11/09 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
python实现各种插值法(数值分析)
2019/07/30 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
大学生物业管理求职信
2013/10/24 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
学习型党组织心得体会
2014/09/12 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
V Rising 服务器搭建图文教程
2022/06/16 Servers