2017-10-13 2 views
0

section0.topあるこのコード行はjQueryですか?私はいくつかのコードをチェックして、この行を見つけたんだ

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

何 - それは変数のですか?私は変数の後に.topを置くことができるということをjQueryの文書のどこにも見ていませんでした。私はこの構文を理解していません。

これは全体の関数である:

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

は、それが最もよく書かれたコードではありません。 – alex

+0

ですが、現場からのコードです。 – trenccan

答えて

2

id属性を持つ各要素のautomatically作成し、それらの変数名id値ですされています。

明示的な宣言をせずにドキュメントにはsection0という変数があり、その値は対応するHtmlElementオブジェクトです。あなたが参照する割り当ては、そのオブジェクトにtopプロパティを追加します。

NB:これは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} 

は、それはあなたがjQueryの変数が、メソッドではない)、この場合には、top

なお、位置を(プロパティへの連鎖可能なアクセスを追加することができますメナス。 HTML5グローバル変数で

関連する問題