Use correct window reference in offset to work properly cross-frame. Fixes #6190.
This commit is contained in:
parent
36faab439a
commit
1d352084c4
2 changed files with 47 additions and 6 deletions
|
@ -16,10 +16,17 @@ if ( "getBoundingClientRect" in document.documentElement ) {
|
|||
return jQuery.offset.bodyOffset( elem );
|
||||
}
|
||||
|
||||
var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
|
||||
clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
|
||||
top = box.top + (self.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop,
|
||||
left = box.left + (self.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
|
||||
var box = elem.getBoundingClientRect(),
|
||||
doc = elem.ownerDocument,
|
||||
body = doc.body,
|
||||
docElem = doc.documentElement,
|
||||
win = getWindow(doc),
|
||||
clientTop = docElem.clientTop || body.clientTop || 0,
|
||||
clientLeft = docElem.clientLeft || body.clientLeft || 0,
|
||||
scrollTop = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ),
|
||||
scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft),
|
||||
top = box.top + scrollTop - clientTop,
|
||||
left = box.left + scrollLeft - clientLeft;
|
||||
|
||||
return { top: top, left: left };
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue