Util.modifyDOMElement don't update the opactity if the passed value is

evaluated as false, passing 0.0 won't work as expected. Fix it. Spotted by
sebastien and reviewed by crschmidt. (Closes #1168)



git-svn-id: http://svn.openlayers.org/trunk/openlayers@5372 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Frédéric Junod
2007-12-11 08:23:52 +00:00
parent 354817649d
commit a9b2a64bdc
2 changed files with 52 additions and 11 deletions

View File

@@ -170,9 +170,12 @@ OpenLayers.Util.modifyDOMElement = function(element, id, px, sz, position,
if (overflow) {
element.style.overflow = overflow;
}
if (opacity) {
if (parseFloat(opacity) >= 0.0 && parseFloat(opacity) < 1.0) {
element.style.filter = 'alpha(opacity=' + (opacity * 100) + ')';
element.style.opacity = opacity;
} else if (parseFloat(opacity) == 1.0) {
element.style.filter = '';
element.style.opacity = '';
}
};
@@ -398,7 +401,8 @@ OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL,
position, border, sizing,
opacity) {
OpenLayers.Util.modifyDOMElement(div, id, px, sz);
OpenLayers.Util.modifyDOMElement(div, id, px, sz,
null, null, null, opacity);
var img = div.childNodes[0];
@@ -407,10 +411,6 @@ OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL,
}
OpenLayers.Util.modifyDOMElement(img, div.id + "_innerImage", null, sz,
"relative", border);
if (opacity) {
div.style.opacity = opacity;
div.style.filter = 'alpha(opacity=' + (opacity * 100) + ')';
}
if (OpenLayers.Util.alphaHack()) {
@@ -422,12 +422,12 @@ OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL,
div.style.filter = "progid:DXImageTransform.Microsoft" +
".AlphaImageLoader(src='" + img.src + "', " +
"sizingMethod='" + sizing + "')";
if (div.style.opacity) {
if (parseFloat(div.style.opacity) >= 0.0 &&
parseFloat(div.style.opacity) < 1.0) {
div.style.filter += " alpha(opacity=" + div.style.opacity * 100 + ")";
}
img.style.filter = "progid:DXImageTransform.Microsoft" +
".Alpha(opacity=0)";
img.style.filter = "alpha(opacity=0)";
}
};