2011-05-24 45 views
0

超級簡單。使用類似Mootools或JQuery的東西或只是普通的老JS。您可以選擇一個節點窗口正準備JS窗口準備和腳本計時

比如之前去努力(SRY我的手短)

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

WindowReady(){ 
dance(my); 
} 

</script> 

由於窗口還沒有準備好,你可以指望的元素被證實?窗口準備好了,它正準備渲染或正在被解析等等。?

回答

1

假設「主」是身體中的一個對象,答案是否定的。 「my = $('main');」將返回undefined。

+0

大聲笑,看起來我們都有「哦廢話」的時刻,並改變了我們的答案。 :) – epascarello 2011-05-24 17:20:14

+0

你是對的!愚蠢的速記:) – 2011-05-24 17:21:07

1

不,元素不會在那裏,所以你不能在頭部或元素被渲染之前引用它們。

需要使用jQuery document ready來完成它,或者在元素被渲染後放置腳本。

+0

文檔解析和呈現是否存在單獨的事件? – Prospero 2011-05-24 17:47:09

0

你可以這樣做,但你真的不應該...

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

爲什麼你不能僅僅依靠你選擇的JS庫的DOM ready函數?除非頁面標記爲GIGANTIC,否則DOM準備就緒所需的時間與從此方法獲得的速度增益相比最少。這隻會增加腳本的不必要的複雜性。