0

我在使用 Mysite时遇到问题,导航栏是 javascript 和一些 jquery,我玩过一些代码来尝试让导航栏在页面查看之前加载,但似乎找不到正确的代码。什么会是实现这一目标的正确方法吗?

4

4 回答 4

2

该脚本将在页面加载时执行

<script type="text/javascript">
    window.onload=body_load;

    function body_load()
    {

    dosomethingwithelementA();

    }

    </script>

    <div id="A"></div>

或者,只要 dom 准备好,您就使用 jquery

$(document).ready(function()
{
    dosomethingwithelementA();

});
于 2012-08-02T08:17:07.960 回答
2

有几件事可以提供帮助:

  1. <script>标签放在导航元素的正下方,如果是 jQuery 代码,请不要使用$(document).ready(function(){包装器,BC 会推迟执行,只要页面加载需要。
    或者,不要等待整个文档准备好,实际上没有什么可以阻止您执行类似$('#navContainer').ready(function(){的操作,以便在导航元素加载后立即执行 jQuery 位。

  2. 也就是说,您无法真正确定何时加载,这有点超出您的掌控。但是,我看到人们使用类似的属性渲染 HTML style="display:none;",然后在他们完成需要先完成/看到的事情后使用 JavaScript 删除该属性。缺点:一如既往:禁用 JS 的浏览器根本看不到任何内容。啊,好吧,搞砸他们

  3. 还有更详细的答案。例如:为您的页面提供一个空的内容 div,并且只提供导航并将onloador$(doc).ready事件绑定到 ajax 调用以获取您网站的实际内容。但这就是,IMO,一个边缘疯狂的解决方法。

选择并选择上述任何选项,或一起使用所有选项

于 2012-08-02T08:35:09.160 回答
0

据我所知,在页面启动之前没有办法真正加载 HTML。您应该使用 JQUERY 事件来等待显示工具栏,直到它被加载。或者可能只是将“display:none”设置为您的工具栏,然后在添加所有效果后使用 window.onload 事件显示工具栏。

于 2012-08-02T08:03:06.173 回答
-3

将您的脚本包含在 中<head></head>,这可能会有所帮助。但是,仍然必须在触发任何 JS 之前加载 DOM。

于 2012-08-02T08:02:12.180 回答