浅析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 相关文章推荐
js 新浪的一个图片播放图片轮换效果代码
Jul 15 Javascript
Cookie 注入是怎样产生的
Apr 08 Javascript
用JavaScript实现动画效果的方法
Jul 20 Javascript
jquery toolbar与网页浮动工具条具体实现代码
Jan 12 Javascript
jquery 页面滚动到底部自动加载插件集合
Jan 31 Javascript
jQuery实现左右切换焦点图
Apr 03 Javascript
利用Node.js编写跨平台的spawn语句详解
Feb 12 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
Nov 17 Javascript
Vue数据双向绑定底层实现原理
Nov 22 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
Mar 04 Javascript
JavaScrip如果基于url实现图片下载
Jul 03 Javascript
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输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
超清晰的document对象详解
2007/02/27 Javascript
jquery 上下滚动广告
2009/06/17 Javascript
JS 的应用开发初探(mootools)
2009/12/19 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
python获取代码运行时间的实例代码
2018/06/11 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
浅述python2与python3的简单区别
2018/09/19 Python
Django时区详解
2019/07/24 Python
python3.7 的新特性详解
2019/07/25 Python
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
软件工程师岗位职责
2013/11/16 职场文书
相亲大会策划方案
2014/06/05 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
导游词之西递宏村
2019/12/10 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL