Je veux juste comprendre :)

Je veux juste comprendre :) - HTML/CSS - Programmation

Marsh Posté le 08-09-2005 à 17:09:43    

Bonjour,
 
voilà je cherchais quelquechose pour faire apparaître et disparaitre une div sur un simple clic. Après plusieurs scripts non concluant fait par mes soins ( c'est surement pour ça :D ), je suis tombé sur ça :
 
document.getElementById('form').style.visibility= document.getElementById('form').style.visibility=='hidden' ? '' : 'hidden'"
 
 
alors ça marche niquel mais j'aimerai comprendre le fonctionnement.
 
J'ai compris en gros qu'il vérifiait l'état actuel de l'élement mais je comprends pas la syntaxe. Genre le ? et les : "hidden"
 
Merci d'avance

Reply

Marsh Posté le 08-09-2005 à 17:09:43   

Reply

Marsh Posté le 08-09-2005 à 17:14:46    

? :
c'est if et else...
 
condition?'faire_cela':'ou_bien_cela'

Reply

Marsh Posté le 08-09-2005 à 17:17:18    

ok merci bcp j'avais jamais vu ça :)  
 
j'utilisais encore les vieux if ou else moi :o

Reply

Marsh Posté le 08-09-2005 à 17:20:54    

Heu je sais pas c'est lequel des 2 le plus vieux...
veux pas dire de bêtises...
 
Enfin if et else est bien plus commun que ? et : :lol:

Reply

Marsh Posté le 08-09-2005 à 17:39:04    

ah k :D merci en tout cas :)

Reply

Marsh Posté le 08-09-2005 à 17:44:34    

var monobjet = document.getElementById('form')
monobjet.style.visibility= (monobjet.style.visibility=='hidden') ? "visible" : "hidden";
 
le mieux serait d'utiliser display:none ou display:block
var la propriété CSS display, cache completement l'élément alors qu'avec visibility:hidden, il est caché mais il garde sa place dans la page.
 
(monobjet.style.display=="block" ) ? "none" : "block";
 
 
la condition rapide que tu vois fonctionne comme ceci :  
(condition) ? action_si_vrai : action_si_faux;

Reply

Marsh Posté le 09-09-2005 à 14:44:04    

xtof_83 a écrit :

? :
c'est if et else...
 
condition?'faire_cela':'ou_bien_cela'


 
Pour être tout à fait exact, ce n'est pas tout à fait comme un if else.
 
La syntaxe du if else, c'est :
  if (<condition> ) <instructions_si_vrai> then <instructions_si_faux>
 
tandis que pour ? : c'est
  <condition> ? <expression_si_vrai> : <expression_si_faux>
Le tout étant une expression.
 
Après il faut comprendre la différence entre instruction et expression.
 
exemple d'expression :
  "Bon" + "jour"
 
exemple d'instruction :
  toto = "Bon" + "jour";
 
Une instruction utilise donc des expressions.
Pour simplifier, une expression définit une valeur tandis qu'une instruction définit une action.
 
Donc :

Code :
  1. toto = "Bon";
  2. if (heure < 20) {
  3.   toto = toto + "jour";
  4. } else {
  5.   toto = toto + "soir";
  6. }


peut être transformé en :

Code :
  1. toto = "Bon" + ( (heure < 20) ? "jour" : "soir" );


 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed