在我的网站上,一些操作需要很长时间才能完成。
当我知道一个页面需要很长时间才能加载时,我希望在页面加载时显示进度指示器。
理想情况下,我想说类似于:
并在加载的页面上覆盖它(在操作完成后消失)。
编写进度条并显示进度不是问题,问题是在页面加载时弹出进度指示器。我一直试图使用JQuery的对话框来实现这一点,但它们只会在页面加载后才出现。
这必须是一个常见的问题,但我不熟悉JavaScript,不知道最好的方法是什么。
以下是一个简单的示例,说明了这个问题。下面的代码在20秒暂停之前无法显示对话框框。我已经在Chrome和Firefox中尝试过了。 实际上,我甚至看不到“请稍等...”文本。
以下是我正在使用的代码:
当我知道一个页面需要很长时间才能加载时,我希望在页面加载时显示进度指示器。
理想情况下,我想说类似于:
$("#dialog").show("progress.php");
并在加载的页面上覆盖它(在操作完成后消失)。
编写进度条并显示进度不是问题,问题是在页面加载时弹出进度指示器。我一直试图使用JQuery的对话框来实现这一点,但它们只会在页面加载后才出现。
这必须是一个常见的问题,但我不熟悉JavaScript,不知道最好的方法是什么。
以下是一个简单的示例,说明了这个问题。下面的代码在20秒暂停之前无法显示对话框框。我已经在Chrome和Firefox中尝试过了。 实际上,我甚至看不到“请稍等...”文本。
以下是我正在使用的代码:
<html>
<head>
<link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.dialog.js"></script>
</head>
<body>
<div id="please-wait">My Dialog</div>
<script type="text/javascript">
$("#please-wait").dialog();
</script>
<?php
flush();
echo "Waiting...";
sleep(20);
?>
</body>
</html>