mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Offset: simplify jQuery#offsetParent method
* It seems, check for html element (and previously for body element)
was redundant
* Simplify "return" statement
* Add comment about potential errors that didn't find themselves
in real life app
Ref 74ae544483
This commit is contained in:
parent
5d522f5c74
commit
96447575c2
@ -149,14 +149,24 @@ jQuery.fn.extend({
|
||||
};
|
||||
},
|
||||
|
||||
// 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 || docElem;
|
||||
var offsetParent = this.offsetParent;
|
||||
|
||||
while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) &&
|
||||
jQuery.css( offsetParent, "position" ) === "static" ) ) {
|
||||
while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
|
||||
offsetParent = offsetParent.offsetParent;
|
||||
}
|
||||
|
||||
return offsetParent || docElem;
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user