Ajout d'une fonction sur le onclick + galerie highslide

labobinette94 Messages postés 5 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 3 août 2009 - 3 août 2009 à 11:40
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 3 août 2009 à 13:52
Bonjour à tous,

Tout d'abord je précise que je suis complètement débutante en javascript (et je "html" et "css" depuis peu. Mais ça, ça va).

Alors voilà : j'utilise une des galeries javascript highslide.
Il y a plusieurs vignettes (une vignette = une galerie). Quand on clique sur une vignette, l'image s'agrandit.
Voici le code en question :
[content/images/large/bleu1.jpg 

]



Je souhaiterais que, quand une des galeries a été vue, l'aspect de sa vignette soit modifié. En gros, je veux faire l'équivalent d'un "a:visited". Pour ce faire, j'ai pensé changer la classe de la vignette, ainsi ("highslide vignette" deviendrai donc "highslide dejaVu"):
[content/images/large/bleu1.jpg 

]



Bon, ça ne marche pas… La première fonction est exécutée, pas la seconde. Quand je teste la seconde toute seule (et en mettant dans le href "#" au lieu du lien vers l'image), elle s'exécute.
La solution est sans doute par ici mais je n'y arrive pas davantage avec ces explications (il faut dire que mon anglais est à peu près du même niveau que mon javascript).

Est-ce que quelqu'un pourrait m'aider ? Où dois-je rajouter la fonction qui change la classe ? Peut-être que ça doit passer par une variable "dejaVu" qui prend "true" comme valeur au click ? Mais comment dans ce cas faire le lien avec ma classe css ?

Voilà, beaucoup de questions, je le redis: je suis débutante. Merci par avance pour votre aide.

5 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
3 août 2009 à 11:54
Bonjour,
>>je veux faire l'équivalent d'un "a:visited".
_ je veux, je veux... quand on veut : on peut !
_ ben ??? justement ???? c'est un non ?
donc a:hover fonctionne parfaitement

curieux d'ailleurs votre ?
avec une image dans le href ( normalement c'est
une page ou du javascript qu'on y met ) et un
onclick inutile puisque href il y a !

handicapé nasal ( ou néanmoins )
inversez donc les 2 ordres mis dans
le onclick pour voir, même si je
ferais sans onclick !

Cordialement [mon Site] [M'écrire] Bul
0
labobinette94 Messages postés 5 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 12:36
Merci beaucoup votre réponse.

Justement, l'image dans le href ne renvoie pas vers une page, mais vers une image.
Donc le a:visited ne fonctionne pas (car, justement, aucune autre page n'a été visitée, on reste sur la même).
Je ne peux pas changer ça, la galerie highslide fonctionne ainsi : l'image dans le href est l'image en grand format qui apparait quand on a cliqué sur le thumb.
J'utilise déjà un h:over qui fonctionne parfaitement.

J'ai déjà essayé d'inverser les 2 ordres mis dans le onClick et là, plus rien ne fonctionne.

Il faudrait probablement que j'ajoute ma fonction de changement de classe dans la fonction expand, mais je ne sais pas comment faire ça.

Voici la fonction expand :
expand : function(a, params, custom, type) {
if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container);
if (typeof a.getParams == 'function') return params;	
try {	
new hs.Expander(a, params, custom);
return false;
} catch (e) { return true; }
},


Apparemment il est prévu qu'on puisse ajouter ses propres éléments via "custom"… Mais comment?

Merci pour votre aide.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
3 août 2009 à 12:45
>>le href ne renvoie pas vers une page, mais vers une image.
ben, justement : changez cela !
faites un lien vers une page qui affichera cette image
et le a:visited fonctionnera
0
labobinette94 Messages postés 5 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 13:38
Ben oui, mais dans ce cas le javascript ne fonctionne plus…
:-(
C'est un code que j'ai copié collé, et il fonctionne ainsi, avec une image en href.
Vu mes connaissances (nulles) en JS, et mes connaissances (toutes fraîches) en html/css j'aurais bien du mal à changer son fonctionnement.

Je vais essayer de mettre un exemple commenté en ligne d'ici ce soir (je n'ai pas le temps maintenant). Ça sera plus clair.

Merci de votre aide,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
3 août 2009 à 13:52
>>dans ce cas le javascript ne fonctionne plus
????
pas de raisons !
mais, déjà, il fait quoi ce javascript ?

et même... je ne vois pas du tout
ce que vous cherchez à faire.
j'ai l'impression que vous vous compliquez
la vie (probablement) inutilement....

revenons à des choses simples : le but recherché c'est quoi ?

>>Vu mes connaissances (nulles) en JS, et mes
>>connaissances (toutes fraîches) en html/css
>>j'aurais bien du mal à changer son fonctionnement
certes, certes... tout le monde débute....
mais si on veut utiliser, il faut connaître,
donc se former....
0
Rejoignez-nous