我有一个简单的基于php的网站,它可以查询其他网站的一些数据。在处理数据时,我需要显示一些加载图像。
我试着跟随,但加载程序只显示了一会儿,一旦页面加载并淡出。
<script>
$(window).load(function() {
$("#loading").fadeOut("slow");
});
</script>
html
<div id="loading"></div>
css
#loading {
z-index: 100;
width: 100%;
height: 100%;
position: fixed;
left: 0px;
top: 0px;
background: url('img/loading.gif') 50% 50% no-repeat;
}
为了更好地解释发生了什么以及我需要什么,假设页面的加载时间是10秒。现在页面加载10秒,不显示加载程序,10秒后显示加载程序将其淡出。我需要显示加载程序整整10秒,然后将其淡出。
发生这种情况是因为在PHP发送响应之前,页面甚至不会开始加载。在完成所有查询后,它只会在10秒后发送响应。你应该做的是有一个静态页面,它首先加载自己(快速),然后通过AJAX单独调用你的PHP脚本。您可以在调用期间显示加载程序。
您还可以尝试关闭PHP输出缓冲,并在执行任何慢速查询之前发送(回显)包含加载程序的页面的一部分。