Soucis avec test if javascript
Dernière réponse : dans Programmation
Bonjour,
j'ai un petit soucis en javascript avec un test if, 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.
Seulement avec la fonction ci-dessous la deuxième div ne reste pas affichée après le clic. En fait j'ai l'impression que le test ne fonctionne pas du fait que la frame testée se trouve plus bas dans le code que l'appel à la fonction qui est censée la tester.
Merci pour votre aide car j'ai fais des recherches toute la journée et je n'ai rien trouvé.
mes fonctions javascript :
ma première div :
ma deuxième div :
mon iframe :
j'ai un petit soucis en javascript avec un test if, 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.
Seulement avec la fonction ci-dessous la deuxième div ne reste pas affichée après le clic. En fait j'ai l'impression que le test ne fonctionne pas du fait que la frame testée se trouve plus bas dans le code que l'appel à la fonction qui est censée la tester.
Merci pour votre aide car j'ai fais des recherches toute la journée 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 class="case_carre"><img src="images/carre_vert.gif" border="0" id="carre_sante" style="visibility:hidden;" /></div>
mon iframe :
<iframe name="frame_ref" id="frame_ref" src="references_frame.htm"></iframe>
Autres pages sur : soucis test javascript
Lassé par la pub ? Créez un compte
Je viens de voir que tu avais supprimé ton sujet... Est-ce que c'est normal ou tu as fait une erreur de manipulation ?
Dans tous les cas, je l'ai remis vu qu'il peut être intéressant je pense.
Ca donnerait quelque chose comme ça pour ton code javascript:
Et pour ta 1ère div:
(double clique sur les bouts de code pour supprimer les numéros de ligne et pour pouvoir plus facilement copier le code)
Je ne l'ai pas testé, mais ça devrait le faire.
Dans tous les cas, je l'ai remis vu qu'il peut être intéressant je pense.
Ca donnerait quelque chose comme ça pour ton code javascript:
var clicked = false; function affiche_carre_sante(){ document.getElementById("carre_sante" ).style.visibility = "visible"; } function cache_carre_sante(){ if(!clicked) { if (document.getElementById("frame_ref" ).src != "references_sante.htm" ) { document.getElementById("carre_sante" ).style.visibility = "hidden"; } else { document.getElementById("carre_sante" ).style.visibility = "visible"; } } }
Et pour ta 1ère div:
<div class="case_secteurs" onmouseover="affiche_carre_sante();" onmouseout="cache_carre_sante();" onclick="clicked=!clicked;"> <a href="references_sante.htm" target="frame_ref" class="secteurs_link">Santé</a> </div>
(double clique sur les bouts de code pour supprimer les numéros de ligne et pour pouvoir plus facilement copier le code)
Je ne l'ai pas testé, mais ça devrait le faire.
Lassé par la pub ? Créez un compte