0

我有一个应用程序,其中一个页面大约需要 1 分钟才能加载。这是一个包含大量计算和其他内容的大页面。

我想显示一个进度指示器,直到服务器给我回复。有人对此有任何想法吗?

4

4 回答 4

2

您需要显示加载器,ajax 加载内容,当 Ajax 请求完成时隐藏加载器并显示内容或简单地用新数据替换加载器。

一个简单的实现可能看起来像这样,并将 #content 的内容替换为 url /newcontent 返回的任何内容。

<div id="content">
 <img src="/path/to/loader.gif" />
</div>

<script>
 $("#content").load("/newcontent");
</script>

或者在您看起来实际上想要替换整个页面的情况下,将整个正文内容替换为:

$('body').load('newpage.html');
于 2012-09-18T11:12:26.253 回答
1

如果在服务器上创建页面的 HTML 需要很长时间,则无法显示带有加载消息/进度指示器的页面,然后显示内容。

我能想到的唯一方法是仅使用加载消息/进度指示器加载页面,然后进行 AJAX 调用以实际获取内容(这需要很长时间才能生成)。

于 2012-09-18T10:55:11.213 回答
0

在您的页面中添加一个 div 作为毯子,最初它将显示并阻止整个页面。并将 div 隐藏在 的 onload 处理程序中。这是一个普通的,可能不是一个好的解决方案。

于 2012-09-18T14:16:04.080 回答
0

您可以在上传时显示此代码。

$(document).ready(function() { 
    $.blockUI();
    //load your editor here
    setTimeout(function(){
        $.unblockUI();
    }, 10000);
}); ​
于 2012-09-18T10:58:04.300 回答