Javascript:使用body onload函数等待脚本完成

Ber*_*own 3 html javascript dhtml

我有一些我正在调用的函数,它们需要一些时间(毫秒),但我不希望页面显示,直到这些函数完成.现在,我可以告诉页面加载,然后脚本最终完成.

现在,我正在调用正文中的函数onload.

另外,我可能遇到的另一个问题是我需要访问html内容中的div元素,我可以在我的body onload函数中执行此操作(getElementById('somDiv')?

这是工作流程.

  1. 调用getElementById('someDiv')来获取页面中的元素.

  2. 调用someFunc函数,这个函数在body中onload = someFunc()

  3. 等到someFunc完成

  4. 功能完成后,向用户显示页面.

Phi*_*oth 5

您可以做的是将页面内容保存在div最初使用的样式中display:none.然后当你的javascript代码完成时,更新divto 的样式display:block,例如:

<html>
    <head>
        ...
        <style type="text/css">
            html, body, #body {
                height: 100%;
                width: 100%;
                padding: 0;
                margin: 0;
            }
            #body {
                display: none;
            }
        </style>
        <script type="text/javascript">
            function myFunc() {
                ...
                getElementById('body').style.display = 'block';
            }
        </script>
    </head>
    <body onload="myFunc();">
        <div id="body>
            ...
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后鲍勃是你的叔叔:页面看起来已经延迟加载,直到你的脚本完成.