Faire Apparaitre et disparaitre en un click

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Faire Apparaitre et disparaitre en un click

Message le Mar Nov 13, 2007 12:02

Bonjour,
je cherche un petit script fluide qui pourrait m'aider dans mon développement de site.

Par exemple j'ai 3 parties principales :

1 OBJET
2 DEFINITIONS
3 SOUSCRIPTION

et quand l'utilisateur click sur DEFINITIONS op le 3 SOUSCRITION s'abaisse pour laisser place au contenu de DEFINITIONS

Une méthode la plus référencable... JS ? PHP ?

Merci d'avance


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Mar Nov 13, 2007 12:10

tres simple :
tu mets le contenu de souscriptions dans un div que tu nomme comme tu veux (ex : id=toto) que tu met en style : display:none
idem pour les deux autres

et sur clic de definitions, tu appelles un js qui met style.display:none aux deux autres et display:yes a celui là

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Mar Nov 13, 2007 12:17

tu as pas un lien avec un exemple :$


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mar Nov 13, 2007 13:03

Code: Tout sélectionner
<script>
  function show() {
    document.getElementById('toto').style.display = 'block';
  }
</script>

<a href='javascript: show()'>Affiches-moi</a><br>

<div style='display:none;' id='toto'> <!-- toto est une idée d'e-kiwi -->
Mon Contenu caché
</div>


Voilà... pas testé, mais ça doit jouer...

nexxen
WRInaute discret
WRInaute discret
 
Messages: 76
Inscription: 30 Déc 2004

Message le Mar Nov 13, 2007 15:00

Et pour que l'utilisateur puisse refermer le DIV "toto":
Code: Tout sélectionner
function vaEtVient() /* sans jeux de mot, difficile d'éviter les anglicismes ;) */
{
   if(document.getElementById('toto').style.display == '')
  {
    document.getElementById('toto').style.display = 'block';
  }
  else
{
    document.getElementById('toto').style.display = '';
}
}


C'est un peu plus compliqué si tu veux que l'ouverture d'un sous menu provoque la fermeture de celui qui est déjà ouvert (et en terme d'ergonomie, c'est assez déstabilisant pour l'utilisateur qui ne sait plus ou il en est dans ton menu...mais ça c'est une autre histoire...)

zim3
WRInaute discret
WRInaute discret
 
Messages: 189
Inscription: 17 Mar 2007

Message le Mar Nov 13, 2007 15:48

tu devrais pouvoir faire ça en 2 lignes Jquery

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Mar Nov 13, 2007 16:01

ok ok je vais tester ça :)

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Mar Nov 13, 2007 16:08

est ce que les robots google apprécient ce genre de truc ? c'est un contenu normal dans la page pour eux ou pas ?

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Mar Nov 13, 2007 16:17

nexxen avec ta fonction le bloc s'affiche bien mais ne disparait pas quand on reclik dessus


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mar Nov 13, 2007 16:26

nexxen a écrit:Et pour que l'utilisateur puisse refermer le DIV "toto":
function vaEtVient() /* sans jeux de mot, difficile d'éviter les anglicismes ;) */
{
if(document.getElementById('toto').style.display == 'none')
{
document.getElementById('toto').style.display = 'block';
}
else
{
document.getElementById('toto').style.display = 'none';
}
}


C'est un peu plus compliqué si tu veux que l'ouverture d'un sous menu provoque la fermeture de celui qui est déjà ouvert (et en terme d'ergonomie, c'est assez déstabilisant pour l'utilisateur qui ne sait plus ou il en est dans ton menu...mais ça c'est une autre histoire...)


juste oublié 2 petites nones (pour éviter les anglicismes :wink: )... et ça doit jouer

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Mar Nov 13, 2007 16:35

ah merci ça fonctionne :D

nexxen
WRInaute discret
WRInaute discret
 
Messages: 76
Inscription: 30 Déc 2004

Message le Jeu Nov 15, 2007 11:32

biscuit a écrit:juste oublié 2 petites nones (pour éviter les anglicismes Wink )... et ça doit jouer


:lol: effectivement c'est mieux comme ça!

Par contre, si le menu doit être fermé par défaut, au chargement de la page, et que ce comportement soit assuré par les CSS (#toto {display: none; ...}), je crois que la propriété style.display ne sera pas renseignée (il faudrait cliqué 2 fois pour faire apparaitre le sous-menu). Pour éviter ce pb le test doit se faire sur les 2 valeurs none et '' (vide) :

Code: Tout sélectionner
if(document.getElementById('toto').style.display == 'none' || document.getElementById('toto').style.display == '') { ...}


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité