0

有没有办法在所有文档、DOM、图像、AJAX 调用、对象和其他内容完成加载的同时在屏幕上呈现所有内容?

这不是在浏览器从服务器获取信息时显示它们“部分”。

任何解决方案都会很有用。

4

5 回答 5

1

使用@timss 的答案试试这个:

将身体设置为可见性:隐藏

jQuery(window).load(function () {

            $("body").css({"visibility":"visible"});
});
于 2013-04-20T03:20:04.923 回答
1

在优先加载网页中的内容中找到此来源他声称它会在显示之前预加载整个页面。

<script language="javascript" type="text/javascript">
/* Visit http://www.yaldex.com/ for full source code
and get more free JavaScript, CSS and DHTML scripts! */
<!-- Begin
function loadImages() {
if (document.getElementById) {  // DOM3 = IE5, NS6
document.getElementById('hidepage').style.visibility = 'hidden';
}
}
window.onload = loadImages;
//  End -->
</script>
<div id="hidepage" style=" background-color: #FFFFCC; layer-background-color: #FFFFCC;     width: 100%;">
<table width=100%><tr><td>Page loading ... Please wait.</td></tr></table></div>

我的解决方案:

这是一个关于如何做的粗略草案,但如果你最终确定它会起作用。优先考虑加载所有内容的顺序。使用 onload jsHide 函数。

<DIV ID="idElement2"><IMG SRC="Airplane.gif">         onLoad="javascript:jsHide('idElement2');return true"></DIV>


<DIV ID="idElement5"><IMG SRC="stuff.gif"      onLoad="javascript:jsShow('idElement5');jsShow('idElement3');jsShow('idElement4');return true"></DIV>

将 idelement5 设置为最后加载,加载后它将显示所有其他元素 id。

于 2013-04-20T03:29:16.103 回答
1

将所有内容设置为display:none;直到success()触发 jQuery AJAX 方法,然后可以将display属性设置回正常。

此外,请确保 AJAX 代码位于window.onloador$(window).on('load')处理程序中。

这样做的缺点是,如果 Ajax 调用不成功,您的页面将不会显示,因此您还应该error()在 jQuery 中定义一个 Ajax 方法。

编辑:

用于在完成加载时显示图像(放置在 onload 之外):

$('img').each(function()
{
    $(this).css('display','none');
    $(this).on('load',function(){$(this).css('display','');});
});

此外,您将希望显示某种类型的加载符号以改善​​用户体验。

于 2013-04-20T02:50:25.783 回答
1

您可以尝试使用此插件中的叠加层隐藏页面

快捷方便。

于 2013-04-20T02:59:09.293 回答
0
window.onload = function () { 
    alert("Page loaded!") 
}
于 2013-04-20T02:49:52.920 回答