[Dojo-interest] ScrollPane in IE
Daniel
daniel.carrera at zmsl.com
Fri Dec 14 16:38:54 UTC 2007
Sorry for all the emails. I found the problem, but not yet a full solution.
It's nothing to do with .startup(). IE just threw me off because it was
using the cache.
Go to dojox/layout/ScrollPane.js on line 48:
(this.containerNode.scrollWidth - this._lo.w)
.scrollWidth is 1137 and this._lo.w varies. For Firefox, Safari and
Opera it is around 620-625. But for IE it is 0.
=> This makes this._size equal to 0 in IE whereas it is ~625 in other
browsers.
Further ahead we find:
var u = this._lo[(this._vertical?"h":"w")]
var size = u * (u / Math.max(1,this._size));
...
dojo.style(this.helper,this._dir,Math.floor(size)+"px");
=> For everyone else, the size is in the order of 735px or so. But for
IE we get 1292769px.
To test, I made the following changes:
* I added a 'this._lo.w = 625' at the beginning, on line 46.
* I used the IE developer tools to force dojoxScrollWrapper to have
style="width: 100%".
The result is that the ScrollPane worked perfectly.
So, what do we need to do:
1. Add 'width:100%' to the styles of ScrollPane.
2. Figure out why dojo.coord is giving a goof value.
I don't know how dojo.cood works at all. If someone explains to me what
it's supposed to do and where I can find it, I'm willing to take a look.
But I fear that it might be too complex for me.
Cheers,
Daniel.
More information about the Dojo-interest
mailing list