我正在嘗試研究偏移的jQuery方法,如下所示:
// offset() relates an element's border box to the document origin
offset: function( options ) {
// Preserve chaining for setter
if ( arguments.length ) {
return options === undefined ?
this :
this.each( function( i ) {
jQuery.offset.setOffset( this, options, i );
} );
}
...
我不能很好地理解第一段。貌似這個方法是檢查是否有引數,如果有就檢查選項,如果沒有提供選項,就回傳當前物件,如果定義了任何選項,它會設定偏移量(這很奇怪,因為這個函式是獲取偏移量,不是設定偏移量)。
uj5u.com熱心網友回復:
.offset可以通過兩種方式使用:獲取偏移量,或設定偏移量。請參閱檔案。
當不帶引數呼叫時,它將:
描述:獲取匹配元素集合中第一個元素相對于檔案的當前坐標。
因此檢查arguments.length.
當使用引數呼叫時,它將:
.offset( coordinates )描述:設定匹配元素集中每個元素的當前坐標,相對于檔案。
這就是代碼的原因
if (arguments.length) {
// set offset of matching elements and return
}
// get and return offset of first matching element
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326179.html
標籤:javascript 查询
