Allora tramite JS gestisco 6 div che contengono delle immagini (immagini che carico dinamicamente e che aggiorno (pagine galleria +/-) con appunto js)... dato che le immagini non sempre sono quadrate tramite js le centro nei div (quadrati) aggiustando la classe (verticale->height 100%, orizzontale->width:100%) e il top (per centrare immagini orizzontali nei div)...
IL PROBLEMA:
alla prima carica della pagina le immagini risultano sfasate, come se venissero lette come vuote, la mia impressione (magari mi sbaglio), è che il browser non faccia in tempo a caricarle che viene eseguito il codice che le ridimensiona in base alle loro dimensioni, infatti ad esempio il top alla prima carica risulta circa metà del div (ovvero come se l'altezza dell'immagine fosse 0 dato che calcolo il top come (divheight - img.offsetheight)/2...
Se poi faccio un refresh manuale della pagina tutto sembra magicamente funzionare... è come se il browser se le salvasse nella cache e sapesse già le dimensioni...
Ripeto, magari è solo una mia idea...
Cosa può essere?
Parte del codice che gestiste la galleria è questa:
codice:
function misuraImmagine(immagine){
if (immagine.height > immagine.width){
return("imgvert");
} else {
return("imgoriz");
}
}
function centraImmagini(){
var posimg;
var posdiv;
for (var i=1;i<7;i++){
posimg=document.getElementById("img"+i);
posimg.style.top="0px";
if (posimg.className=="imgoriz"){
posdiv=document.getElementById("divimg"+i);
posimg.style.top=(posdiv.offsetHeight-posimg.offsetHeight)/2+'px';
}
}
}