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

时间:2009-10-07 09:30:26

标签: 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>

在MyScript.js中:

google.setOnLoadCallback(runOnLoad);    
function runOnLoad() {
    // Do stuff
}

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

2 个答案:

答案 0 :(得分:7)

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

在你的html模板中:

<body>
    <div id="mainContent" class="hidden">
    </div>
</body>

css类:

.hidden
{
    display: none;
}

最近执行的MyScript.js声明:

$("#mainContent").removeClass("hidden");

答案 1 :(得分:0)

我同意Jan。

大多数(并非所有)浏览器在javascripts之前首先加载CSS。 所以CSS对你来说是可取的。