浅析JS异步加载进度条


Posted in Javascript onMay 05, 2016

展现效果:

1) 当点击Load的时候,模拟执行异步加载. 浏览器被遮挡. 进度条出现.

浅析JS异步加载进度条

实现思路:

1.当用户点击load button执行异步请求. 调用方法 出现加载条

2.怎么实现进度条呢?

1) 在document.body 新增一个div.覆盖浏览器. 设置背景会灰色. z-index = 999. 加载的时候让用户无法修改界面值

2) 在document.body 新增一个动态的div.

代码实现:

Main.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="Loading.js" charset="utf-8"></script>
<link rel="stylesheet" href="Loading.css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<button onclick="showLoading()">Load</button>
</body>
</html>

  Loading.js:

function showLoading()
{
var overDiv = document.createElement("div");
var loadingDiv = document.createElement("div");
var childDiv1 = document.createElement("div");
var childDiv2 = document.createElement("div");
var childDiv3 = document.createElement("div");
overDiv.classList.add('over');
loadingDiv.classList.add('spinner');
childDiv1.classList.add('bounce1')
childDiv2.classList.add('bounce2')
childDiv3.classList.add('bounce3')
loadingDiv.appendChild(childDiv1);
loadingDiv.appendChild(childDiv2);
loadingDiv.appendChild(childDiv3);
document.body.appendChild(overDiv);
document.body.appendChild(loadingDiv)
setTimeout(function()
{
document.body.removeChild(overDiv);
document.body.removeChild(loadingDiv)
}, 5000);
}

  Loading.css

.spinner {
width: 150px;
text-align: center;
left: 50%;
top: 50%;
position: absolute;
z-index: 1000;
}
.over {
width: 100%;
height: 100%;
z-index: 998;
background-color: gray;
position:absolute;
top: 0px ;
left : 0px;
opacity: 0.2;
}
.spinner > div {
width: 30px;
height: 30px;
background-color: #67CF22;
border-radius: 100%;
display: inline-block;
-webkit-animation: bouncedelay 1.4s infinite ease-in-out;
animation: bouncedelay 1.4s infinite ease-in-out;
/* Prevent first frame from flickering when animation starts */
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.spinner .bounce1 {
-webkit-animation-delay: -0.32s;
animation-delay: -0.32s;
}
.spinner .bounce2 {
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
}
@-webkit-keyframes bouncedelay {
0%, 80%, 100% { -webkit-transform: scale(0.0) }
40% { -webkit-transform: scale(1.0) }
}
@keyframes bouncedelay {
0%, 80%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 40% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}

 总结:

1.可以将方法提出来. 对Ajax请求重新封装一次. 实现调用Ajax请求的时候自动条用进度条方法.

2.如果是Angular的话. Angular提供了方法监控http调用.监控http执行请求的时候调用进度条方法就行了.无需在每次执行 http调用.监控http执行请求的时候调用进度条方法就行了.无需在每次执行http的时候都去自己调用出现进度条的方法.

以上内容是小编给大家介绍的js异步加载进度条的相关内容,希望对大家有所帮助!

Javascript 相关文章推荐
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
js实现刷新iframe的方法汇总
Apr 27 Javascript
jQuery实现查找最近父节点的方法
Jun 23 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
websocket+node.js实现实时聊天系统问题咨询
May 17 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
利用node实现一个批量重命名文件的函数
Dec 21 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
vue实现跳转接口push 转场动画示例
Nov 01 Javascript
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
AngularJS入门(用ng-repeat指令实现循环输出
May 05 #Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
May 04 #Javascript
一分钟理解js闭包
May 04 #Javascript
学JavaScript七大注意事项【必看】
May 04 #Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 #Javascript
开启BootStrap学习之旅
May 04 #Javascript
JavaScript入门教程之引用类型
May 04 #Javascript
You might like
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php导出CSV抽象类实例
2014/09/24 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
如何使用Bootstrap创建表单
2017/03/29 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
python解析xml文件实例分享
2013/12/04 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
什么是python的必选参数
2020/06/21 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
爱情寄语大全
2014/04/09 职场文书
大学生工作自荐书
2014/06/16 职场文书
上诉答辩状范文
2015/05/22 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
python 下载文件的几种方式分享
2021/04/07 Python