1

是否可以在我的 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>

页面加载然后显示覆盖消息。

如何让它在加载时显示消息?

谢谢

4

1 回答 1

1

过去, 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>

注意:DIVwithid="domMessage被传递给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; 
    }); 
}); 
于 2013-09-10T15:35:58.680 回答