在加载javascript之前禁用页面的更清洁方法?

时间:2013-08-21 10:03:41

标签: jquery overlay

我有一个页面,它必须在所有页面元素变得可访问之前加载3个javascript文件(这是相当大的)。如果单击其中一个链接,则加载将停止,整个页面将无法正确加载脚本。

我通过使用覆盖图屏蔽页面来制作解决方案,该页面在加载所有页面之前使页面变黑。所以在我的页面顶部我放

$(".black-overlay").show();

这是一个用z-index为9999覆盖整个页面的div。然后在页面加载后,我把

$(function() { $(".black-overlay").hide(); });

来自我阅读的来源与文档就绪功能相同,因此在页面加载后叠加会消失。

我的问题是,这只会有效。有一种情况是叠加层消失但链接仍然断开(意味着脚本尚未加载)。另一种情况是,有时叠加层将不会显示:我移动到另一个页面,然后返回到主页面,在主页面上,叠加层必须再次显示,因为脚本必须再次加载。但有时,它运作得很好。

这个问题是否有更清洁的解决方案?

[编辑]如果与网站的互联网连接速度很慢,就会发生这种情况。

1 个答案:

答案 0 :(得分:3)

我会默认隐藏身体,意思是:<body style="display:none;"> 并且在文档加载时,让它可见(你甚至可以淡化,这总是很有趣):

$(document).load( function() { $('body').fadeIn(); });

在代码中加上最新的内容,它(希望)始终有效。