我在我们的网站上有一个部分加载非常慢,因为它正在进行一些密集的调用.
任何想法我怎么能得到一个div
类似于"加载"的东西,当页面准备自己然后在一切准备就绪时消失?
我需要这个,经过互联网上的一些研究后我想出了这个(需要jQuery):
首先在body标签后添加:
然后将div和image的样式类添加到CSS:
#loading { width: 100%; height: 100%; top: 0; left: 0; position: fixed; display: block; opacity: 0.7; background-color: #fff; z-index: 99; text-align: center; } #loading-image { position: absolute; top: 100px; left: 240px; z-index: 100; }
最后将此javascript添加到您的页面(最好在页面末尾,然后在关闭标记之前):
然后使用帮助样式类调整加载图像的位置和加载div的背景颜色.
这就是它,工作得很好.但当然你必须有一个ajax-loader.gif
地方.
window.onload = function(){ document.getElementById("loading").style.display = "none" }
#loading {width: 100%;height: 100%;top: 0px;left: 0px;position: fixed;display: block; z-index: 99}
#loading-image {position: absolute;top: 40%;left: 45%;z-index: 100}
此脚本将添加一个div,在页面加载时覆盖整个屏幕.它将自动显示仅CSS加载微调器.它会等到窗口(不是文档)完成加载,然后它会等待一个可选的额外几秒钟.
适用于jQuery 3(它有一个新的窗口加载事件)
不需要图像,但很容易添加一个
更改延迟以获得更多品牌或说明
只有依赖是jquery.
来自https://projects.lukehaas.me/css-loaders的 CSS加载程序代码
$('body').append('Loading...');
$(window).on('load', function(){
setTimeout(removeLoader, 2000); //wait for page load PLUS two seconds.
});
function removeLoader(){
$( "#loadingDiv" ).fadeOut(500, function() {
// fadeOut complete. Remove the loading div
$( "#loadingDiv" ).remove(); //makes page more lightweight
});
}
.loader,
.loader:after {
border-radius: 50%;
width: 10em;
height: 10em;
}
.loader {
margin: 60px auto;
font-size: 10px;
position: relative;
text-indent: -9999em;
border-top: 1.1em solid rgba(255, 255, 255, 0.2);
border-right: 1.1em solid rgba(255, 255, 255, 0.2);
border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
border-left: 1.1em solid #ffffff;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-animation: load8 1.1s infinite linear;
animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
#loadingDiv {
position:absolute;;
top:0;
left:0;
width:100%;
height:100%;
background-color:#000;
}
This script will add a div that covers the entire window as the page loads. It will show a CSS-only loading spinner automatically. It will wait until the window (not the document) finishes loading.
- Works with jQuery 3, which has a new window load event
- No image needed but it's easy to add one
- Change the delay for branding or instructions
- Only dependency is jQuery.
Place the script below at the bottom of the body.
CSS loader code from https://projects.lukehaas.me/css-loaders
Tags | 热门标签
RankList | 热门文章
-
1是否有可用的应用内聊天SDK?
-
2禁止不断访问我的C#/ Azure网站的IP地址?
-
3反应警告渲染()
-
4RxSwift:基于文本字段的启用/禁用按钮不为空
-
5Silverstripe后端发生了奇怪的行为?
-
6为什么密钥在Java中是不可变的?
-
7如何在PySpark中的RDD列中找到标准偏差
-
8平凡的默认可构造std :: optional和std :: variant
-
9为什么foo(1,2,3)没有作为整数[]传递给varargs方法foo(Object ...)
-
10SIG33在调试原生Android时
-
11如何在MKMapView Swift中放大图钉
-
12如何在Android Studio中切换android源码?
-
13如何使用Firebase在Angular项目中构建/更新数据
-
14如何使用Picasso将位图加载到图像视图中
-
15在Visual Studio C++调试会话期间找出当前目录
-
16如何根据日期订购数组?
-
17JointJs如何使链接相互避免.不要搞砸了
-
18自动将csv文件转换为Excel表格?
-
19为什么'+ ='不能用于隐式解包的选项?
-
20std :: enable_shared_from_this :: shared_from_this如何工作