浅析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 相关文章推荐
非常不错的一个javascript 类
Nov 07 Javascript
Div自动滚动到末尾的代码
Oct 26 Javascript
Jquery Ajax的Get方式时需要注意URL地方
Apr 07 Javascript
自己动手开发jQuery插件教程
Aug 25 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
Javascript中replace()小结
Sep 30 Javascript
JavaScript仿商城实现图片广告轮播实例代码
Feb 06 Javascript
bootstrap table操作技巧分享
Feb 15 Javascript
javascript实现的图片预览功能
Mar 25 Javascript
微信小程序使用wxParse解析html的方法教程
Jul 06 Javascript
vue form 表单提交后刷新页面的方法
Sep 04 Javascript
jquery轮播图插件使用方法详解
Jul 31 jQuery
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错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
js 发布订阅模式的实例讲解
2017/09/10 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
python实现机器人行走效果
2018/01/29 Python
python实现自动发送邮件
2018/06/20 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
触电现场处置方案
2014/05/14 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
运动员入场前导词
2015/07/20 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS
Linux安装Docker详细教程
2022/07/07 Servers