【问题标题】:JS Window ready and script timingsJS 窗口就绪和脚本计时
【发布时间】:2011-05-25 04:41:49
【问题描述】:

超级简单的。使用 Mootools 或 JQuery 之类的东西,或者只是普通的旧 JS。你能在窗口准备好之前选择一个节点来处理吗

例如(对不起,我的短手)

<script>
my = $('main');
my.danceLevel = 1000000;

WindowReady(){
dance(my);
}

</script>

既然窗口还没有准备好,你能指望被证实的元素吗?窗口准备好它准备好呈现或被解析等了吗?

【问题讨论】:

    标签: javascript jquery-selectors domready


    【解决方案1】:

    假设“main”是body中的一个对象,答案是否定的。 “我的 = $('main');”将返回未定义。

    【讨论】:

    • 大声笑,看起来我们俩都有“哦,废话”的时刻并改变了我们的答案。 :)
    【解决方案2】:

    不,元素将不存在,因此您不能在头部或元素渲染之前引用它们。

    需要使用jQuery document ready 执行此操作,或者在元素渲染后放置脚本。

    【讨论】:

    • 文档解析和渲染是否有单独的事件?
    【解决方案3】:

    你可以这样做,但你真的不应该......

    var yourElement;
    function findElement() {
        var element = $("ElementID");
        if (element) {
            clearInterval(int);
            yourElement = element;
            //Do code here.
        }
    }
    var int = setInterval("findElement()", 10);
    

    为什么不能只依赖所选 JS 库的 DOM Ready 功能?除非页面标记是巨大的,否则 DOM 准备就绪所需的时间与此方法的速度增益相比充其量是最小的。这只会给您的脚本增加不必要的复杂性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      相关资源
      最近更新 更多