fixed only affects one level of scrollable ancestors.

This commit is contained in:
Christopher Jeffrey 2013-07-28 03:01:09 -05:00
parent 38473b6bfa
commit a82ad19110
1 changed files with 9 additions and 2 deletions

View File

@ -2650,6 +2650,7 @@ Element.prototype._getCoords = function(get) {
, yl = yi + this._getHeight(get) , yl = yi + this._getHeight(get)
, base = this.childBase || 0 , base = this.childBase || 0
, el = this , el = this
, fixed = this.fixed
, coords , coords
, v , v
, notop , notop
@ -2666,14 +2667,20 @@ Element.prototype._getCoords = function(get) {
// Find a scrollable ancestor if we have one. // Find a scrollable ancestor if we have one.
while (el = el.parent) { while (el = el.parent) {
if (el.scrollable) break; if (el.scrollable) {
if (fixed) {
fixed = false;
continue;
}
break;
}
} }
// Check to make sure we're visible and // Check to make sure we're visible and
// inside of the visible scroll area. // inside of the visible scroll area.
// NOTE: Lists have a property where only // NOTE: Lists have a property where only
// the list items are obfuscated. // the list items are obfuscated.
if (el && !this.fixed) { if (el) {
ppos = get ppos = get
? this.parent.lpos ? this.parent.lpos
: this.parent._getCoords(); : this.parent._getCoords();