在jQuery执行时删除页面加载'故障'

Ale*_*gas 3 javascript jquery

在执行任何jQuery代码之前,我的站点中的用户在每个页面上看到半秒钟的故障.此代码操纵页面,以便您可以在一个大块中看到元素移动,使用户体验感觉笨重.在JavaScript运行之前,我更喜欢不显示页面.

我在页面中使用Google API提供的jQuery,如下所示:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.3.2");
</script>
<script type="text/javascript" src="MyScript.js"></script>
Run Code Online (Sandbox Code Playgroud)

在MyScript.js中:

google.setOnLoadCallback(runOnLoad);    
function runOnLoad() {
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道在页面显示在浏览器之前是否可以运行JavaScript?

Jan*_*ard 7

您可以在主div中添加一个隐藏内容的css类,然后将该类删除为MyScript.js的最后一件事.

在你的html模板中:

<body>
    <div id="mainContent" class="hidden">
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

css类:

.hidden
{
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

上次执行的MyScript.js语句:

$("#mainContent").removeClass("hidden");
Run Code Online (Sandbox Code Playgroud)