在我的网站上,许多操作可能需要很长时间才能完成。
当我知道页面需要一段时间才能加载时,我想在页面加载时显示进度指示器。
理想情况下,我想说的是:
$("#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>