Sachant que je n'y connais rien en javascript puisque je n'utilise que jQuery.. (pardonner ma simplicité... :p) je me suis tout de même penché sur ton soucis...
Voilà ce que je te propose :
1 2 3
| a.clicLien { color: red; font-weight: normal; }
a.clicLien:hover { color: blue; font-weight: normal; }
a.clicLienActif { color: blue; font-weight: normal; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| function AfficherOuCacher(obj) {
if (Visible == false) { // SI L'OBJET N'EST PAS VISIBLE
Afficher(obj) // RENVOIE A LA FONCTION AFFICHER
} else { // SINON
Cacher(obj) // RENVOIE A LA FONCTION CACHER
}
}
function Afficher(obj) {
var id = 'boutton'+obj;
document.getElementById(obj).style.display = ''; // AFFICHE LE COMPOSANT
document.getElementById("boutton1").className = "clicLienActif"; // On modifie la class du lien
Visible = true; // OBJET EST MAINTENANT VISIBLE
}
function Cacher(obj) {
var id = 'boutton'+obj;
document.getElementById(obj).style.display = 'none'; // CACHE LE COMPOSANT
document.getElementById("boutton1").className = "clicLien"; // On modifie la class du lien
Visible = false; // OBJET EST MAINTENANT CACHE
} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <a onClick="Afficher('index123');" class="clicLien" style="cursor:pointer;" id="boutton1">
<div id="haut_som">
<div id="nom_som">Le lien pour ouvrir la div concerné</div>
</div>
</a>
<div id="index123" style="display: none;">
<div id="gauche_som" class="full2">
<div id="grade">La div caché qui s'affichera lors du clic sur le lien</div>
</div>
<div id="droite_som" class="full2">
<div id="lien_som">
<a onClick="Cacher('index123');" style="cursor:pointer;" id=""><b>X</b></a>
</div>
</div>
</div> |
Bien entendu, je ne sais pas du tout si cela est "propre", mais ça fonctionne...
En gros, j'ai ajouté une class sur ton lien cliquable et je change cette classe selon l'état...
document.getElementById("boutton1").className = "LaClassDesirée";
A toi d'essayer d'adapter ceci à ton code si c'est bien ce que tu cherches...
Partager