首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript问题

JavaScript问题
EN

Stack Overflow用户
提问于 2010-10-08 17:05:24
回答 6查看 173关注 0票数 1

是否有可能在用户浏览器中不显示html页面,直到加载并执行一些JavaScript(内置或单独的文件)(用于页面DOM操作)?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-10-08 17:10:34

最简单的方法是设置css变量

代码语言:javascript
复制
display: none;

到整个页面。然后,当加载所有内容时,您可以将显示设置为

代码语言:javascript
复制
display: block; // or something else that suits.

如果您确保在文档的最开始加载了CSS,则在显示任何html之前,它将处于活动状态。

如果您使用像jQuery这样的javascript库,您将可以访问$(document).ready()函数,并可以实现如下切换:

代码语言:javascript
复制
<html>
    <head>
        <title>test</title>
        <style type="text/css">
            body > div {
                display: none;
            }
        </style>
        <script type="text/javascript">
            $(document).ready(function() {
                $('body > div').css('display', 'block');
            });
    </head>
    <body>
        <div>
            This will initially be hidden.
        </div>
    </body>
</html>
票数 4
EN

Stack Overflow用户

发布于 2010-10-08 17:08:48

而不是以传统的方式分发页面。浏览器将(通常)在基本HTML文件到达时开始显示它的块。

当然,您可以通过从某些包含的Javascript文件动态生成所有HTML来模拟这一过程。但这听起来不是一个好计划,因为对于没有启用JS的人,或者如果你的脚本中有一个小错误,它将会严重降级。更好的选择可能是将body标记样式化为display: none,然后在脚本中重新设置样式,以使某些部分再次可见。

你真正想要实现的是什么?听起来可能有更好的方法来做这件事...

票数 3
EN

Stack Overflow用户

发布于 2010-10-08 17:21:18

将HTML页面的内容放在DIV中,使其不显示,并在加载正文时显示它。

代码语言:javascript
复制
<script type="text/javascript">

function showContent() { 
var divBody=document.getElementById('divBody');
divBody.style.display= 'block';
} 
</script> 
<body onload="showContent()"> 
<div id="divBody" style="display: none;">
 <--HTML of the page--> 
</div>  
</body>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3889108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档