};
},
- // This method will return documentElement in the following cases:
- // 1) For the element inside the iframe without offsetParent, this method will return
- // documentElement of the parent window
- // 2) For the hidden or detached element
- // 3) For body or html element, i.e. in case of the html node - it will return itself
- //
- // but those exceptions were never presented as a real life use-cases
- // and might be considered as more preferable results.
- //
- // This logic, however, is not guaranteed and can change at any point in the future
offsetParent: function() {
return this.map( function() {
- var offsetParent = this.offsetParent;
+ var offsetParent = this.offsetParent || docElem;
- while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) &&
+ jQuery.css( offsetParent, "position" ) === "static" ) ) {
offsetParent = offsetParent.offsetParent;
}
-
return offsetParent || docElem;
} );
}