我有一个页面,它必须在所有页面元素变得可访问之前加载3个javascript文件(这是相当大的)。如果单击其中一个链接,则加载将停止,整个页面将无法正确加载脚本。
我通过使用覆盖图屏蔽页面来制作解决方案,该页面在加载所有页面之前使页面变黑。所以在我的页面顶部我放
$(".black-overlay").show();
这是一个用z-index为9999覆盖整个页面的div。然后在页面加载后,我把
$(function() {
$(".black-overlay").hide();
});
来自我阅读的来源与文档就绪功能相同,因此在页面加载后叠加会消失。
我的问题是,这只会有效。有一种情况是叠加层消失但链接仍然断开(意味着脚本尚未加载)。另一种情况是,有时叠加层将不会显示:我移动到另一个页面,然后返回到主页面,在主页面上,叠加层必须再次显示,因为脚本必须再次加载。但有时,它运作得很好。
这个问题是否有更清洁的解决方案?
[编辑]如果与网站的互联网连接速度很慢,就会发生这种情况。
答案 0 :(得分:3)
我会默认隐藏身体,意思是:<body style="display:none;">
并且在文档加载时,让它可见(你甚至可以淡化,这总是很有趣):
$(document).load( function() { $('body').fadeIn(); });
在代码中加上最新的内容,它(希望)始终有效。