Remettre un onglet en "caché"
Résolu
Debutant en webmastering
Messages postés
401
Date d'inscription
Statut
Membre
Dernière intervention
-
Debutant en webmastering Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Debutant en webmastering Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je viens de trouver une fonction assez simple à coder et qui me permet de palier à mon manque de connaissance dans le déroulement d'un menu en javascript
<li><a href="" onmouseover="javascript:document.getElementById('sousNousContacter').style.visibility='visible';">Nous contacter</a></li>
le problème c'est que si je passe une fois sur Nous Contacter après le champ reste indéfiniment visible est-ce remédiable ??
merci pour vos réponses
je viens de trouver une fonction assez simple à coder et qui me permet de palier à mon manque de connaissance dans le déroulement d'un menu en javascript
<li><a href="" onmouseover="javascript:document.getElementById('sousNousContacter').style.visibility='visible';">Nous contacter</a></li>
le problème c'est que si je passe une fois sur Nous Contacter après le champ reste indéfiniment visible est-ce remédiable ??
merci pour vos réponses
A voir également:
- Remettre un onglet en "caché"
- Remettre a zero un pc - Guide
- Copie caché - Guide
- Numéro caché - Guide
- Remettre clavier en azerty - Guide
- Rouvrir un onglet fermé - Guide
5 réponses
je pense qu'il suffit d'utiliser onmouseout="javascript:document.getElementById('sousNousContacter').style.visibility='none';"
je ne sais pas si c'est le bon mot mais ca doit etre un truc du genre
je ne sais pas si c'est le bon mot mais ca doit etre un truc du genre
Oui, mais ce n'est plus le même code ;)
https://forums.commentcamarche.net/forum/affich-3529254-html-cacher-ou-afficher-des-elements
https://forums.commentcamarche.net/forum/affich-3529254-html-cacher-ou-afficher-des-elements
onmouseout a l'air d'y remédier mais comment le placer ??
sur le principe ça fonctionne mais dans mon cas ça cause un problème car ça donne : au passage de" Nous Contacter" le champ "Nous situer" apparaît mais lorsque je ne suis plus sur "Nous Contacter" et que je veux aller sur "Nous Situer"
("Nous Situer étant un lien) et bien il disparaît (logique vous me direz)
du coup j'ai rajouté une ligne :
<li><a href="" id="sousNousContacter" onmouseover="javascript:document.getElementById('sousNousContacter').style.visibility='visible'"
onmouseout="javascript:document.getElementById('sousNousContacter').style.visibility='hidden'">Nous situer</a></li>
mais le problème c'est qu'entre les deux cellules il y'a une bordure et donc s'il la souris entre en contact avec la bordure avant la deuxième cellule ("Nous situer") et bien celle-ci (la cellule "Nous situer") n'apparaît pas :( si vous avez une solution je suis tout ouï (même si c'est visuel ;))
("Nous Situer étant un lien) et bien il disparaît (logique vous me direz)
du coup j'ai rajouté une ligne :
<li><a href="" id="sousNousContacter" onmouseover="javascript:document.getElementById('sousNousContacter').style.visibility='visible'"
onmouseout="javascript:document.getElementById('sousNousContacter').style.visibility='hidden'">Nous situer</a></li>
mais le problème c'est qu'entre les deux cellules il y'a une bordure et donc s'il la souris entre en contact avec la bordure avant la deuxième cellule ("Nous situer") et bien celle-ci (la cellule "Nous situer") n'apparaît pas :( si vous avez une solution je suis tout ouï (même si c'est visuel ;))
Pas réellement :on va procéder par étapes pour plus de clarté
- j'ai fait en sorte que lorsque l'utilisateur passe sur "Nous contacter", "Nous Situer" apparaît et comme "Nous situer" est un lien il doit rester présent pour que l'on puisse cliquer dessus donc lorsque la souris est sur "Nous Situer" alors il doit rester affiché (tout cela fonctionne)
-le problème c'est qu'entre les deux cellules (vu qu'elles sont l'une en dessous de l'autre)
il y'a une bordure ;
et c'est au passage de la souris sur cette même bordure que "Nous Situer" disparaît
-en fait ce que je cherche à savoir c'est s'il est possible de mettre des évènements js (onmouseout / onmouseover) sur une bordure et si oui comment le coder en html (sans modifier mon css si possible)
Si tu veux voir ce que donne mon code n'hésite pas à demander; je te donnerais l'html puis le css
j'espère que c'est plus clair
cordialement
- j'ai fait en sorte que lorsque l'utilisateur passe sur "Nous contacter", "Nous Situer" apparaît et comme "Nous situer" est un lien il doit rester présent pour que l'on puisse cliquer dessus donc lorsque la souris est sur "Nous Situer" alors il doit rester affiché (tout cela fonctionne)
-le problème c'est qu'entre les deux cellules (vu qu'elles sont l'une en dessous de l'autre)
il y'a une bordure ;
et c'est au passage de la souris sur cette même bordure que "Nous Situer" disparaît
-en fait ce que je cherche à savoir c'est s'il est possible de mettre des évènements js (onmouseout / onmouseover) sur une bordure et si oui comment le coder en html (sans modifier mon css si possible)
Si tu veux voir ce que donne mon code n'hésite pas à demander; je te donnerais l'html puis le css
j'espère que c'est plus clair
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca y est, j'ai compris =) (ou pas, lol)
On ne peut pas mettre un évènement à une bordure puisque celle-ci provient du css et non du html. C'est tout de même étrange ton problème puisque j'ai vu passer des menus dans ce style et qui restait ouvert (c'était bien chiant d'ailleurs, mais bon)
https://css.developpez.com/galerie/?page=menus-horizontaux
"Menu horizintal déroulant" par exemple
Du coup, tu n'aurais pas besoin de js =) Un p'tit a:hover suffirait
Seulement, pour ce que tu veux faire, je ne pense pas que l'utilisateur apprécie que "Nous situer" apparaisse alors qu'il fasse juste passer sa souris. Généralement, on préfère qu'un évènement ait lieu lorsqu'on l'a décidé. Utilisation du onclick plutôt que du onmouse-over/-out.
On ne peut pas mettre un évènement à une bordure puisque celle-ci provient du css et non du html. C'est tout de même étrange ton problème puisque j'ai vu passer des menus dans ce style et qui restait ouvert (c'était bien chiant d'ailleurs, mais bon)
https://css.developpez.com/galerie/?page=menus-horizontaux
"Menu horizintal déroulant" par exemple
Du coup, tu n'aurais pas besoin de js =) Un p'tit a:hover suffirait
Seulement, pour ce que tu veux faire, je ne pense pas que l'utilisateur apprécie que "Nous situer" apparaisse alors qu'il fasse juste passer sa souris. Généralement, on préfère qu'un évènement ait lieu lorsqu'on l'a décidé. Utilisation du onclick plutôt que du onmouse-over/-out.
Non, pas forcément. Ce sont 2 problèmes différents.
Déjà l'ouverture du sous-menu se fait plus simplement avec a:hover.
Après, tu as deux choix qui s'offrent à toi :
- soit "Nous contacter" et tout le reste est sur fond d'image avec en css un background-image où il y a une image d'une flèche en bas " v " Dans ce cas, tu feras le changement du background dans a:hover. Quand je dis "fond d'image", tu peux juste avoir une image de flèche que tu positionneras en top right.
- soit tu utilises ce que tu nous as présenté, juste pour changer l'image de la flèche que tu auras mise à côté de "Nous contacter". Mais juste cette partie-là. Et là, tu n'utiliseras pas un visibility, mais plus un src (je ne me souviens plus exactement).
Déjà l'ouverture du sous-menu se fait plus simplement avec a:hover.
Après, tu as deux choix qui s'offrent à toi :
- soit "Nous contacter" et tout le reste est sur fond d'image avec en css un background-image où il y a une image d'une flèche en bas " v " Dans ce cas, tu feras le changement du background dans a:hover. Quand je dis "fond d'image", tu peux juste avoir une image de flèche que tu positionneras en top right.
- soit tu utilises ce que tu nous as présenté, juste pour changer l'image de la flèche que tu auras mise à côté de "Nous contacter". Mais juste cette partie-là. Et là, tu n'utiliseras pas un visibility, mais plus un src (je ne me souviens plus exactement).
Ton "v" doit changer, non ? Je suppose que là, tu utilises de l'Ajax. Mais pour changer juste ça, il va falloir mettre un span, genre :
[ Nous contacter <span class="fleche"> v </span> ]
Et ainsi, en css, tu pourras faire un style de ta class et changer la police.
Mais tu sais, rien ne t'empêche de faire ta propre flèche sous Paint... (surtout si c'est sur fond uni) Ce n'est qu'un triangle, non ?
[ Nous contacter <span class="fleche"> v </span> ]
Et ainsi, en css, tu pourras faire un style de ta class et changer la police.
Mais tu sais, rien ne t'empêche de faire ta propre flèche sous Paint... (surtout si c'est sur fond uni) Ce n'est qu'un triangle, non ?