Pek*_*ica 48
最简单的方法是div在主体中添加以下CSS:
#hideAll
{
position: fixed;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
background-color: white;
z-index: 99; /* Higher than anything else in the document */
}
Run Code Online (Sandbox Code Playgroud)
(注意position: fixed在IE6中不起作用 - 我知道在浏览器中没有确定的方法)
像这样添加DIV(直接在开始body标记之后):
<div style="display: none" id="hideAll"> </div>
Run Code Online (Sandbox Code Playgroud)
直接显示DIV:
<script type="text/javascript">
document.getElementById("hideAll").style.display = "block";
</script>
Run Code Online (Sandbox Code Playgroud)
并隐藏它onload:
window.onload = function()
{ document.getElementById("hideAll").style.display = "none"; }
Run Code Online (Sandbox Code Playgroud)
或者使用jQuery
$(window).load(function() { document.getElementById("hideAll").style.display = "none"; });
Run Code Online (Sandbox Code Playgroud)
这种方法的优点是它也适用于关闭JavaScript的客户端.它不应该导致任何闪烁或其他副作用,但没有测试它,我不能完全保证它在那里的每个浏览器.
在页面上放置一个叠加层
#loading-mask {
background-color: white;
height: 100%;
left: 0;
position: fixed;
top: 0;
width: 100%;
z-index: 9999;
}
Run Code Online (Sandbox Code Playgroud)
然后删除window.onload处理程序中的该元素,或隐藏它
window.onload=function() {
document.getElementById('loading-mask').style.display='none';
}
Run Code Online (Sandbox Code Playgroud)
当然,如果您使用的是库,那么您应该使用您的javascript库(jquery,prototype ..)特定的onload处理程序.
你也可以这样做......这只会在 javascript 加载后显示 HTML 部分。
<!-- Adds the hidden style and removes it when javascript has loaded -->
<style type="text/css">
.hideAll {
visibility:hidden;
}
</style>
<script type="text/javascript">
$(window).load(function () {
$("#tabs").removeClass("hideAll");
});
</script>
<div id="tabs" class="hideAll">
##Content##
</div>
Run Code Online (Sandbox Code Playgroud)
最初隐藏主体,然后在加载后使用jQuery显示它.
body {
display: none;
}
$(function () {
$('body').show();
}); // end ready
Run Code Online (Sandbox Code Playgroud)
此外,最好$('body').show();将最后一行作为最后一个主要.js文件.
| 归档时间: |
|
| 查看次数: |
102180 次 |
| 最近记录: |