Soucis avec onmouseout javascript

Résolu/Fermé
grenouille69 Messages postés 9 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 26 mai 2010 - 31 janv. 2009 à 20:52
grenouille69 Messages postés 9 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 26 mai 2010 - 31 janv. 2009 à 21:47
Bonjour,
j'ai un petit soucis en javascript avec onmouseout, je vous explique :
en fait au départ j'ai 2 div. La seconde est hidden au départ. C'est lors du survol sur la première que la deuxième apparait. et bien sûr, lorsque la souris s'en va, la deuxième div disparait à nouveau. Le but est que lors du clic sur la première div, la seconde reste visible même lorsque la souris repart.
Jusqu'ici rien de bien compliqué me direz-vous, seulement le problème se gâte lorsque j'ai un menu comme ceci avec 6 éléments, qui font apparaitre chacun une iframe différente au même endroit dans la page.
Précisément mon problème, avec le code ci-dessous, c'est que tout marche bien sauf que la deuxième div reste visible lorsque la souris repart même si je n'ai pas cliqué.
Merci pour votre aide car j'ai fais des recherches toute l'aprem et je n'ai rien trouvé.


mes fonctions javascript :
function affiche_carre_sante(){ document.getElementById("carre_sante" ).style.visibility = "visible"; }
function cache_carre_sante(){
if (document.getElementById("frame_ref" ).src != "references_sante.htm" ) {
document.getElementById("carre_sante" ).style.visibility == "hidden";
} else {
document.getElementById("carre_sante" ).style.visibility == "visible";
}
}


ma première div :
<div class="case_secteurs" onmouseover="affiche_carre_sante();" onmouseout="cache_carre_sante()">
<a href="references_sante.htm" target="frame_ref" class="secteurs_link">Santé</a>
</div>


ma deuxième div :
<div><img src="image.gif" border="0" id="carre_sante" style="visibility:hidden" /></div>


mon iframe :
<iframe name="frame_ref" id="frame_ref" src="references_frame.htm"></iframe>

5 réponses

Utilisateur anonyme
31 janv. 2009 à 20:56
Salut!
Il manque peut-être le point virgule à ce niveau:
onmouseout="cache_carre_sante()"> 

-->
onmouseout="cache_carre_sante();"> 
0
grenouille69 Messages postés 9 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 26 mai 2010
31 janv. 2009 à 21:07
merci pour ta réponse
effectivement il manquait un point virgule mais ça n'a rien changé à mon problème ...
0
Utilisateur anonyme
31 janv. 2009 à 21:18
T'as aussi un soucis à ce niveau:
document.getElementById("carre_sante" ).style.visibility == "hidden";

et
document.getElementById("carre_sante" ).style.visibility == "visible";


Parce que en Javascript quand tu mets "==" c'est pour vérifier une condition, pour affecter une valeur il faut mettre juste un seul =

Autre chose rajoute un point virgule là:
style="visibility:hidden"

-->
style="visibility:hidden;"
0
grenouille69 Messages postés 9 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 26 mai 2010
31 janv. 2009 à 21:34
j'ai fais les modifs et ça y est ma deuxième div s'efface lorsque la souris s'en va.
Seulement maintenant quand je clic et que j'enleve la souris, la deuxième div ne reste pas affichée ...
J'ai l'impression que mon test if dans la fonction ne marche pas
0

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

Posez votre question
grenouille69 Messages postés 9 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 26 mai 2010
31 janv. 2009 à 21:47
en fait je pense que le problème vient du fait que mon iframe à tester est plus bas dans le code que la div qui la teste. Du coup elle peut pas la tester.
Mais comment faire alors dans ce cas là ?
0