我正在使用以下代码来显示一个纺车:
$("#loading")
.hide()
.ajaxStart(function(){
$(this).show();
setTimeout("3000");
})
.ajaxStop(function(){
$(this).hide("slow");
})
;
和:
<div id="loading">
<img src="loading.gif" alt="Loading" />
</div>
问题:
“ setTimeout()无法正常工作。如何在网页中心显示图像?”
最佳答案
我不明白为什么要使用计时器,您可以简单地在ajax请求开始时将其打开,然后在成功或错误时将其关闭,例如:
$('#loading').show();
$.post(url, request)
.success(function(data) {
$('#loading').hide();
// Do what you want with data
})
.error(function(data) {
$('#loading').hide();
// Show error message
});
要将加载的图片放在页面的中间,请确保其容器位于高度为100%的父容器中,并且如果是嵌套的,请确保其父容器都不为
position:relative
。#loading {
position:relative;
width:100%;
height:100%;
}
#loading img {
margin-top: -12px; // Half images height;
margin-left: -12px; // Half images width;
position:absolute;
top:50%;
left:50%;
}
OR
#loading {
width:100%;
height:100%;
}
#loading img {
width:24px // Images width
height:auto; // If Image size changes don't mess with proportions
margin:0 auto;
margin-top:48%;
}