now don't use getDimensions any more, but use offsetWidth and offsetHeight before like getDimension does if style.display is not none. r=elemoine,quietriver (pullup #2414)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@10278 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2010-05-04 10:00:38 +00:00
parent f66607a6e8
commit b0e726b988
3 changed files with 3 additions and 35 deletions

View File

@@ -93,6 +93,7 @@ OpenLayers.Element = {
/** /**
* APIFunction: getDimensions * APIFunction: getDimensions
* *Deprecated*. Returns dimensions of the element passed in.
* *
* Parameters: * Parameters:
* element - {DOMElement} * element - {DOMElement}

View File

@@ -1402,11 +1402,9 @@ OpenLayers.Map = OpenLayers.Class({
var size = new OpenLayers.Size(this.div.clientWidth, var size = new OpenLayers.Size(this.div.clientWidth,
this.div.clientHeight); this.div.clientHeight);
// Workaround for the fact that hidden elements return 0 for size.
if (size.w == 0 && size.h == 0 || isNaN(size.w) && isNaN(size.h)) { if (size.w == 0 && size.h == 0 || isNaN(size.w) && isNaN(size.h)) {
var dim = OpenLayers.Element.getDimensions(this.div); size.w = this.div.offsetWidth;
size.w = dim.width; size.h = this.div.offsetHeight;
size.h = dim.height;
} }
if (size.w == 0 && size.h == 0 || isNaN(size.w) && isNaN(size.h)) { if (size.w == 0 && size.h == 0 || isNaN(size.w) && isNaN(size.h)) {
size.w = parseInt(this.div.style.width); size.w = parseInt(this.div.style.width);

View File

@@ -110,37 +110,6 @@
t.ok(OpenLayers.Element.getHeight(elem) == elem.offsetHeight, "offsetHeight returned"); t.ok(OpenLayers.Element.getHeight(elem) == elem.offsetHeight, "offsetHeight returned");
} }
function test_Element_getDimensions(t) {
if (!t.open_window) {
t.plan(0);
return;
} else {
t.plan(4);
}
//shown
t.open_window( "BaseTypes/Element.html", function( wnd ) {
t.delay_call(3, function() {
var elem = wnd.document.getElementById("elemID");
var dims = OpenLayers.Element.getDimensions(elem);
t.eq(dims.width, 50, "width correct when displayed");
t.eq(dims.height, 100, "height correct when displayed")
elem.style.display = "none";
dims = OpenLayers.Element.getDimensions(elem);
t.eq(dims.width, 50, "width correct when hidden");
t.eq(dims.height, 100, "height correct when hidden")
});
});
//hidden
}
function test_hasClass(t) { function test_hasClass(t) {
t.plan(14); t.plan(14);
var has = OpenLayers.Element.hasClass; var has = OpenLayers.Element.hasClass;