jQuery window,document,dom 요소의 높이와 너비 함수 분석 가져오기

2492 단어
자세히 보기
 
      jQuery(window).height () 는 현재 보이는 영역의 크기를 의미하며, jQuery (document) 는Height()는 전체 문서의 높이를 대표하며 구체적인 상황에 따라 사용할 수 있다.
브라우저 창의 크기가 바뀔 때 (예를 들어 창을 최대화하거나 확대한 후) jQuery (window) 를 주의하십시오.height () 가 바뀌지만, jQuery (document).height()는 변하지 않는다.
 
 
다음은 높이 또는 너비 함수를 가져오는 jQuery 소스 코드입니다.
 
4
//   jQuery.height(size)  jQuery.width(size)
//  each           
jQuery.each([ "Height", "Width" ], function( i, name ) {
 
    var type = name.toLowerCase();
 
    jQuery.fn[ type ] = function( size ) {
 
        var elem = this[0];
        if ( !elem ) {
            return size == null ? null : this;
        }
 
        if ( jQuery.isFunction( size ) ) {
            return this.each(function( i ) {
                var self = jQuery( this );
                self[ type ]( size.call( this, i, self[ type ]() ) );
            });
        }
 
        //   window         ($(window).width() )                 
        if ( jQuery.isWindow( elem ) ) {
            // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
            // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
            //            Quirks   Standards        
            // document.documentElement (     
원소) 또는document.body
var docElemProp = elem.document.documentElement[ "client"+ name ];
return elem.document.compatMode === "CSS1Compat"&& docElemProp ||
elem.document.body[ "client"+ name ] || docElemProp;
//전체 문서 객체(document)의 너비 또는 높이 가져오기
} else if ( elem.nodeType === 9 ) {
//Either scroll[Width/Height] or offset[Width/Height], whichever is greater
return Math.max(
elem.documentElement["client"+ name],
elem.body["scroll"+ name], elem.documentElement["scroll"+ name],
elem.body["offset"+ name], elem.documentElement["offset"+ name]
);
//DOM 요소의 높이 또는 너비 가져오기
} else if ( size === undefined ) {
var orig = jQuery.css( elem, type ),
ret = parseFloat( orig );
return jQuery.isNaN( ret ) ? orig : ret;
//DOM 요소의 높이 또는 너비 설정(단위가 없을 경우 기본적으로 픽셀 값)
} else {
return this.css( type, typeof size === "string"? size : size + "px");
}
};
});

좋은 웹페이지 즐겨찾기