2017-10-13 116 views
0

我檢查了一些代碼,發現該行:這行代碼是jQuery嗎?

section0.top = $("#section0").position().top; 

什麼是section0.top - 它是一個變量?我沒有看到jQuery文檔中的任何地方,我可以在變量之後放置.top。我不明白這個語法。

這是整個功能:

function calculateSections() { 
    windowTop = $(window).scrollTop(); 
    section0.top = $("#section0").position().top; 
} 
+0

不管它是什麼,它都不是最好編寫的代碼。 – alex

+0

但它是來自工作網站的代碼。 – trenccan

回答

2

在HTML5全局變量創建automatically對於具有id屬性的每個元件,並且這些變量名id值。

因此,沒有任何明確的聲明,您的文檔將具有section0變量,其值是相應的HtmlElement對象。您引用的作業將因此將top屬性添加到該對象。

注意:這是行爲無關的jQuery

NB2:它不認爲是最佳做法將屬性添加到DOM對象。

+0

這是一個很好的解釋,不知道這件事情;謝謝你 – sTx

0

根據該功能的文檔:

https://api.jquery.com/position/

Returns an object containing the properties top and left.

這意味着位置()在選擇器是一個jQuery函數但最後它只是以這種格式返回一個JavaScript對象:

{top: 0, left: 0} 

它menas,您可以添加到屬性可鏈接的訪問,在這種情況下top

注意位置()不是一個jQuery變量,但方法。