是否可以在我的php页面执行其他任何操作之前显示覆盖层,然后继续加载页面。
页面完全加载后,删除覆盖层?
理想情况下,叠加层应具有显示页面正在加载的图标和/或措辞。
我尝试过的一切似乎都无济
于事!谢谢
编辑:
这是我正在尝试做的事情的基本版本。
<html>
<head>
<script src="jquery-1.8.0.js" type="text/javascript"></script>
<script src="jquery.blockUI.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
// Blocks as soon as possible
$.blockUI({ message: $('#domMessage') });
// Wire up page load event
$(window).load(function () {
// Unblock when page is loaded
$.unblockUI;
});
});
</script>
</head>
<body>
<?php
$out = array();
exec ('ls -ls /* 2>&1', $out);
echo "<table>";
foreach ($out as $line) {
echo "<tr><td>$line</td></tr>";
}
echo "</table>";
?>
<input id="pageDemo1" class="demo" type="submit" value="Block Page With Message" />
<div id="domMessage" style="display:none;">
<h1>We are processing your request. Please be patient.</h1>
</div>
</body>
</html>
页面加载后显示覆盖消息。
如何让它在加载时显示消息?
谢谢
jQuery BlockUI 过去对我来说效果很好。
您可以将其应用于元素或整个页面,如下所示:
<script type="text/javascript">
// unblock when ajax activity stops
$(document).ajaxStop($.unblockUI);
function test() {
$.ajax({ url: 'wait.php', cache: false });
}
$(document).ready(function() {
$('#pageDemo1').click(function() {
$.blockUI({ message: $('#domMessage') });
test();
});
});
</script>
<input id="pageDemo1" class="demo" type="submit" value="Block Page With Message" />
<div id="domMessage" style="display:none;">
<h1>We are processing your request. Please be patient.</h1>
</div>
注意:带有id="domMessage
的DIV
将传递给blockUI
函数,并用于显示消息。
更新:
以下是在 DOM 可用时立即显示加载消息的方法,然后在加载页面时隐藏消息:
$(document).ready(function() {
// Blocks as soon as possible
$.blockUI({ message: $('#domMessage') });
// Wire up page load event
$(window).load(function () {
// Unblock when page is loaded
$.unblockUI;
});
});