Bonjour bonjour! Je suis développeur php et le peu que je connais de javascript ce sont ses similitudes avec php
Voilà pourquoi je viens chercher de l'aide ici.
Je dispose d'une fonction qui réduit l'opacité d'une image au chargement de la page, l'augmente au passage de la sourie, et la réduit encore en sortie de survol. Jusque là aucun problème. Cependant, je souhaiterais qu'au clic sur l'image l'opacité de celle-ci soit à fond et celle des autres réduites.
Pour imager voyez une galerie d'images avec les miniatures de chacune d'entre elles et en dessous l'image en taille réelle de celle sélectionnée. Mon problème se situe donc au niveau de l'animation des miniatures.
Voici le code de la fonction:
Il y a 8 images par pages.
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 <script type="text/javascript"> function visible(id){ for(i=0;i<=7;i++){ if(i != id ){ $("img#opac"+i).animate({"opacity":"0.5"},0); $("img#opac"+i).mouseover(function(){ $(this).animate({"opacity":"1"},200); }); $("img#opac"+i).mouseout(function(){ $(this).animate({"opacity":"0.5"},200); }); }else{ $("img#opac"+i).animate({"opacity":"1"},0); } } } </script>
J'ajoute ceci pour sélectionner automatiquement la première image au chargement de la page et obscurcir les autres:
et ceci dans chacune des miniatures:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 window.onload=function(){visible(0)};
$i étant incrémentée dans une boucle php. Aucun problème à ce niveau là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2onClick="visible('.$i.');javascript:return false;"
Et voilà le problème: au clic, toutes les images s'assombrissent et aucune ne s'éclaircit. En revanche ca fonctionne si je remplace directement $i par un chiffre genre 3. Dans ce cas, en cliquant sur n'importe quelle miniature, l'image ayant pour id opac3 serra clair et les autres foncée. Mais pourquoi cela ne fonctionne pas lorsque les paramètres de visible() sont différents dans chacune des miniatures? Là je ne comprends pas.
Une idée?![]()
Partager