Bonjour
J'utilise jQuery pour calculer la hauteur d'une image pour la centrer verticalement dans un div#carre qui fait 336px de hauteur.
Voici le bout de code que j'utilise pour cela :
Et ça fonctionne !
Sauf lors du tout premier chargement du site.
Une fois les fichiers en cache, ça fonctionne parfaitement.
Voici le code généré lors du premier chargement :
Voici le code généré lors du deuxième chargement (et suivants) :
Le pb vient du calcul de la hauteur de l'image qui ne parvient pas à se faire lors du premier chargement.
C'est pourquoi on retrouve un margin-top de 168px.
Donc à priori, ça semble normal puisqu'au &er chargement de la page, le code javascript n'a pas idée de l'image à venir...
Mais ça doit être contournable comme problème non ?
Modifié par Spheerys (18 Nov 2008 - 10:44)

J'utilise jQuery pour calculer la hauteur d'une image pour la centrer verticalement dans un div#carre qui fait 336px de hauteur.
Voici le bout de code que j'utilise pour cela :
$('#carre img').each(function(i){
var ah = $('#carre img').eq(i).height();
var ph = $('#carre').height();
var mh = (ph - ah) / 2;
$('#carre img').eq(i).css('margin-top', mh);
});
Et ça fonctionne !
Sauf lors du tout premier chargement du site.
Une fois les fichiers en cache, ça fonctionne parfaitement.
Voici le code généré lors du premier chargement :
<div id="carre">
<img style="margin-top: 168px;" src="5.jpg" alt="" />
</div>
Voici le code généré lors du deuxième chargement (et suivants) :
<div id="carre">
<img style="margin-top: 68px;" src="5.jpg" alt="" />
</div>
Le pb vient du calcul de la hauteur de l'image qui ne parvient pas à se faire lors du premier chargement.
C'est pourquoi on retrouve un margin-top de 168px.
Donc à priori, ça semble normal puisqu'au &er chargement de la page, le code javascript n'a pas idée de l'image à venir...
Mais ça doit être contournable comme problème non ?
Modifié par Spheerys (18 Nov 2008 - 10:44)