Bonjour,
J'utilise la fonction suivante pour cadrer une photo en zoom.
En CSS, je définis un margin left pour center la photo grossomodo pour une photo de 800 px de large et 60px de cadre de couleur.
Ensuite en JS, je recentre la photo
Code : Sélectionner tout - Visualiser dans une fenêtre à part div#photos { z-index:99; position: absolute; top: 60px; margin:0 0 0 -430px; visibility:hidden; background-color:#554336; vertical-align:center; text-align:center; border : 2px groove white; left:50%; }
Pas de souci avec IE (7 ou 8), avec FF, rien ne bouge.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 ou large est la largeur de la photo +60 px de cadre et legend est le texte de legende) function JF_photos(nb,URL,large,legend){ var margin=large*0.5*(-1); var long=legend.indexOf(' - ',0); if(long==-1) {long=legend.length} if(long==0) {long=10} legend=legend.replace(' _ ', '\r\n'); legend=legend.replace('zzz', "'"); legend=legend.replace('zzz', "'"); legend=legend.replace('zzz', "'"); legend=legend.replace('zzz', "'"); legend=legend.replace('zzz', "'"); document.getElementById('photos').style.visibility="hidden"; document.getElementById('chargement_photo').style.visibility="visible"; document.getElementById('fond_photo').style.visibility="visible"; document.images['photo_gr'].src=URL; document.images['photo_gr'].alt=legend; document.getElementById('titre').cols=long; document.getElementById('photos').style.width=large; document.getElementById('photos').style.marginLeft=margin; document.getElementById('bandeau_photo').style.width=large; document.getElementById('chargement_photo').style.width=large; document.getElementById('retour_gr').href="#"+nb; document.getElementById('titre').value=legend; ident=setTimeout("JF_affichage_photos()",100); } function JF_affichage_photos(){ if(document.images['photo_gr'].complete) { document.getElementById('chargement_photo').style.visibility="hidden"; document.getElementById('photos').style.visibility="visible"; } else {ident=setTimeout("JF_affichage_photos()",100);} }
Si je metsJ'ai bien -163 qui s'affiche dans la fenêtre donc la variable margin est bien renseigné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part window.alert(margin);
Voila, je sèche.
Merci de votre aide.
Partager