Masquer/afficher un bloc dans une page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Masquer/afficher un bloc dans une page

par Ultim4T0m » 15 mai 2007, 15:06

Sur alsacreations, ils en parlent un peu :

http://blog.alsacreations.com/2004/06/0 ... connaissez

Mais en gros, l'effet est le même apparemment ^^

par Invité » 15 mai 2007, 14:13

Quelle est la différence entre ces deux attributs. Pour le moment j'utilise inline c'est nikel.
Que fait block?

par eLman » 15 mai 2007, 11:15

Bien le merci à vous.
Ca va me permettre de faire quelque chose de plus aboutie :)

par sadeq » 15 mai 2007, 11:11

en posant un style en dur sur la balise :wink:
Exemple:

Code : Tout sélectionner

<div style="display:none"></div>
style que tu peut modifier dynamiquement par javascript suite à des événements (click ...)
Tu vois le principe est simple: tu pose un style et puis tu programmes javascript pour le modifier

1°temps: style="display:none" en HTML
2°temps:

Code : Tout sélectionner

document.getElementById('...').style.display = 'none'; //ou 'block' ou 'inline' selon ce que tu veux faire

par eLman » 15 mai 2007, 11:09

Oula exact == est l'opérateur de comparaison et = celui d'affectation.
Mais je n'ai pas écrit cela dans mon code ; )

Pourrais tu me dire comment puis je mettre ma div en caché par défaut ?

Merci

par sadeq » 15 mai 2007, 11:06

Attention (rappel)
  • == est utilisé comme symbole de compraison d'égalité dans un test telque "if"
    = est utilisé comme symbole d'affectaion d'une valeur à une variable comme A=1 (A reçoit la valeur 1)

par eLman » 15 mai 2007, 10:49

Merci.

Alors deux choses :
- comment dois je faire pour le mettre caché par defaut.
- et quelle est la syntaxe de display et block car effectivement ça me fait une belle page blanche avec le hidden et si je voulais masquer c'était justement pour que la page ait une taille acceptable au départ.

Code : Tout sélectionner

document.getElementById('mask').style.display == 'block'
est ce comme ceci ?

Merci à vous.

par Ryle » 15 mai 2007, 10:41

Au choix... dans un lien, il te suffit de préfixer par "javascript:" pour que le navigateur ne fasse pas une redirection, mais tu peux tout aussi bien faire ça lors d'un onClick sur un élément de ta page :
<a href="javascript:document.getElementById('id du div').style.visibility = 'visible';">Afficher</a>
Tu peux aussi faire appel à une fonction javascript pour tester si le div est visible ou non pour l'afficher ou le masquer avec un seul lien :
<a href="javascript:maFonction();">Afficher/Masquer</a>

<script language="javascript">
function maFonction() {
  if (document.getElementById('id du div').style.visibility == 'visible') { // si le div est visible
    document.getElementById('id du div').style.visibility = 'hidden'; // on le masque
  }
  else { // sinon
    document.getElementById('id du div').style.visibility = 'visible'; // on l'affiche
  }
}
</script>
Enfin, si tu ne veux pas laisser de "trou" dans ton code puisque l'attribut "visibility:hidden" ne fait que cacher l'élément sans le retirer, tu peux également utiliser l'attribut "display" avec les valeur "none" pour le cacher, ou "block" / "inline" pour l'afficher :)

par eLman » 15 mai 2007, 10:34

Et je met ça comment dans mon lien ?
Dans un un onclick ou bien faut il s'y prendre autrement ?
Je met un <a onclick= ...> ou non.

par sadeq » 15 mai 2007, 10:30

tu peux mettre le contenu à manipuler dans un div, lui donner un id et agir sur sa proriété de style "visibility": la mettre à "visible" l'affiche et à "hidden" le cache.

en javascript:

Code : Tout sélectionner

document.getElementById("id du div").style.visibility = "visible"; //l'affiche
ou

Code : Tout sélectionner

document.getElementById("id du div").style.visibility = "hidden"; //le cache

Masquer/afficher un bloc dans une page

par eLman » 15 mai 2007, 10:23

Bonjour,

Débutant en JS j'aimerais savoir comment il était possible de masquer/afficher une partie du contenu d'une page.
Je m'explique :
J'ai une pages comportant 4 blocs. J'aimerais au chargement de la page n'afficher que le premier et en cliquant sur un lien afficher les trois autres en dessus du premier tout simplement.
C'est sûrement très basique pour vous je pense.

Exemple en image (image texte XD) :

Code : Tout sélectionner

blablablablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablablablabla > dérouler/masquer blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla blablablablablablablablablablablablablablablabla
Voilà j'espère que vous pourrez m'aider sur ce coup merci.