隐藏内容直到内容加载 - 适用于IE,但不适用于Safari?

时间:2011-10-15 11:32:09

标签: css internet-explorer safari hide loaded

这是一个奇怪的东西 - 在IE中很有用,但在Safari中却不行。这是我的代码:

<script type="text/javascript">
 $(document).ready(function(){
 $('body').css('display', 'block');
 });</script>

</head>
<body style="margin:0; display:none;">

目标是在文档准备好之前将正文显示设置为无。然后将display属性更改为block。

知道我在这里做错了吗?

2 个答案:

答案 0 :(得分:2)

  

我可以添加某种条件代码,如果javascript是   没有启用它立即加载,但如果启用它等待   显示直到文档准备好了吗?

是的,你可以:

<script type="text/javascript">
 $(function(){
   $('body').css('display', 'block');
 });
</script>
</head>
<body>
<script type="text/javascript">
  $('body').css('display','none'); // this will execute before $(document).ready()
</script>

答案 1 :(得分:1)

如果您希望页面在显示之前准备就绪(图像已加载),则应使用jQuery的.load()。另一方面,你不应该用css隐藏身体,因为关闭javascript的人会假设网站崩溃了。除非您正在创建一个100%依赖于javascript的应用程序。