Estoy haciendo una funcion tipo Lightbox, que muestre una imagen y descripcion sobre un layer oscuro. Lo hace bien, pero una variable que calcula el ancho de la imagen parece no estar calculando bien el ancho de la misma, no obstante use el evento ".onload".
Aca la funcion:
Código PHP:
showFotos.prototype.setMsg = function (ft,ti)
{
var ths = this;
//
ths.glb.box = document.createElement ('div');
ths.glb.box.className = 'shBox';
document.body.appendChild (ths.glb.box);
ths.glb.box.style.display = 'none';
//
var fdo = document.createElement ('div');
fdo.className = 'shBox_fdo';
ths.glb.box.appendChild (fdo);
//
var cnt = document.createElement ('div');
cnt.className = 'shBox_cnt';
ths.glb.box.appendChild (cnt);
//
var img = new Image ();
img.src = ft;
img.onload = function ()
{
var fot = document.createElement ('img');
fot.src = ft;
cnt.appendChild (fot);
//
var tit = document.createElement ('p');
tit.innerHTML = ti;
cnt.appendChild (tit);
//
var fotW = fot.offsetWidth; // variable que calcula el ancho
cnt.style.width = fotW + 'px';
cnt.style.left = ((ths.winWH('w') - fotW) / 2) + 'px';
//
ths.glb.box.onmouseover = function () { this.style.cursor = 'pointer'; };
ths.glb.box.onclick = function () { document.body.removeChild (this); };
//
ths.glb.box.style.display = 'block';
};
};
¿Tienen alguna sugerencia o idea de como solucionar este impase? Gracias por cualquier ayuda que puedan prestarme.