JavaScript问题

JavaScript问题,javascript,html,dom,Javascript,Html,Dom,在加载和执行某些JavaScript(内置或单独的文件)之前,用户浏览器中可能不会显示html页面(用于页面DOM操作)?不是以分发页面的经典方式。浏览器(通常)会在基本HTML文件到达时开始显示它的块 当然,您可以通过从包含的Javascript文件动态生成所有HTML来模拟这一点。但这听起来不是一个好的计划,因为对于没有启用JS的人来说,或者如果脚本中有一个小错误,那么它会严重降级。更好的选择可能是将body标记设置为display:none,并从脚本中重新设置其样式,以使某些部分再次可见

在加载和执行某些JavaScript(内置或单独的文件)之前,用户浏览器中可能不会显示html页面(用于页面DOM操作)?

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

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


你到底想达到什么目的?听起来可能有更好的方法来做到这一点…

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

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


你到底想达到什么目的?听起来可能有更好的方法来实现这一点…

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

display: none;
翻到整页。 然后,当加载所有内容时,您可以将显示设置为

display: block; // or something else that suits.
如果您确保在文档的一开始就加载了CSS,那么在显示任何html之前,它将处于活动状态

如果使用jQuery之类的javascript库,则可以访问$(document).ready()函数,并可以实现如下切换:

<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>

测试
正文>div{
显示:无;
}
$(文档).ready(函数(){
$('body>div').css('display','block');
});
这将首先被隐藏。

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

display: none;
翻到整页。 然后,当加载所有内容时,您可以将显示设置为

display: block; // or something else that suits.
如果您确保在文档的一开始就加载了CSS,那么在显示任何html之前,它将处于活动状态

如果使用jQuery之类的javascript库,则可以访问$(document).ready()函数,并可以实现如下切换:

<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>

测试
正文>div{
显示:无;
}
$(文档).ready(函数(){
$('body>div').css('display','block');
});
这将首先被隐藏。

将HTML页面的内容放在一个DIV中,使其diplay none并在加载正文时diplay它

<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>

函数showContent(){
var divBody=document.getElementById('divBody');
display='block';
} 

将HTML页面的内容放在一个DIV中,使其diplay none并在加载正文时diplay它

<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>

函数showContent(){
var divBody=document.getElementById('divBody');
display='block';
} 

您可能想做的事情的示例:

  • Facebook的“大烟斗”: 此方法允许您先加载JS,然后异步+注入所有DOM内容
  • GMail
  • Zimbra(类似于MS Outlook/Exchange的开源web应用程序)

  • 您可能想做的事情的示例:

  • Facebook的“大烟斗”: 此方法允许您先加载JS,然后异步+注入所有DOM内容
  • GMail
  • Zimbra(类似于MS Outlook/Exchange的开源web应用程序)

  • 我的理解是,您希望在加载页面之前运行一些javascript代码。在js文件中,编写init函数,并将eventlistener添加到“加载”事件窗口中。这将确保先执行init代码,然后才能开始显示HTML内容

    var Yourdomain = {};
    YourDomain.initPage = function(){
     /* Your init code goes here*/
    }
    
    window.addEventListener("load", YourDomain.initPage, false);
    

    我的理解是,您希望在加载页面之前运行一些javascript代码。在js文件中,编写init函数,并将eventlistener添加到“加载”事件窗口中。这将确保先执行init代码,然后才能开始显示HTML内容

    var Yourdomain = {};
    YourDomain.initPage = function(){
     /* Your init code goes here*/
    }
    
    window.addEventListener("load", YourDomain.initPage, false);
    

    您真正需要做的就是为元素提供一个ID或类,并使用dislay:none;财产。当您准备好显示它时,只需删除它

    CSS:

    HTML:

    
    这将是隐藏的DIV元素,直到您选择显示它为止

    var x=“一些测试”; var y=“Javascript”; document.getElementById(“js_1”).innerHTML=x+y;
    您真正需要做的就是为元素提供一个ID或类,并使用dislay:none;财产。当您准备好显示它时,只需删除它

    CSS:

    HTML:

    
    这将是隐藏的DIV元素,直到您选择显示它为止

    var x=“一些测试”; var y=“Javascript”; document.getElementById(“js_1”).innerHTML=x+y;
    只是尝试添加一些CSS标记,操纵DOM,不希望用户看到“跳跃”,只是尝试添加一些CSS标记,操纵DOM,不希望用户看到“跳跃”,感谢“BigPipe”链接。有趣的技术。感谢“BigPipe”链接。有趣的技术。