IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

display none ou block multiple


Sujet :

JavaScript

  1. #1
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Ol�iculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 64
    Localisation : France

    Informations professionnelles :
    Activit� : DevWeb - Ol�iculteur
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par d�faut display none ou block multiple
    J'ai un tableau qui contient un tr�s grand nombre de cases. Pour am�liorer la lisibilit� j'ai fix� la propri�t� de style display:none; (invisible) pour un certain type de case qui ont toutes un id identique: id='payed'.

    A l'aide d'un bouton je d�clenche un fonction JS qui devrait les faire tous dispara�tre ou appara�tre. Sauf que la fonction n'agit que sur la derni�re case.

    Pourquoi ? merci de votre aide.
    Voici un exemple de mon code tr�s simplifi�.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <html>
    <head>
    	<style type="text/css" title="text/css">
    	td{		border-color: #DDD;
    			background-color: #39F;
    			width: 50;
    			border-style: solid;
    			border-color: #555;
    			border-width: 2px;}
    	</style>
    </head>
     
    <script type="text/javascript">
    function Show_Hide(objID) {
    		var obj = document.getElementById(objID);
     
    		if (obj.style.display=='block') {
    			obj.style.display='none';
    		} else {
    			obj.style.display='block';
    		}
    	}
    </script>
    <body>
    <div  onclick="Show_Hide('paye');">Voir/Cacher</div>
    <table>
    	<tr>
    		<td id=paye>&nbsp</td>
    		<td id=paye>&nbsp</td>
    		<td id=paye>&nbsp</td>
    	</tr>
    </table>
    </body>
    </html>

  2. #2
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    Citation Envoy� par riete Voir le message
    J'ai un tableau qui contient un tr�s grand nombre de cases. Pour am�liorer la lisibilit� j'ai fix� la propri�t� de style display:none; (invisible) pour un certain type de case qui ont toutes un id identique: id='payed'.
    Je n'ai pas lu plus loin : c'est interdit
    (un id doit �tre unique dans la page)

    A+

  3. #3
    Membre chevronn� Avatar de htr999
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2008
    Messages
    331
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 331
    Par d�faut
    +1 pour l'id UNIQUE

    sinon note les �l�ments dont tu aura besoin avec les id comme par l'exemple "id1...id100"
    et dans ta fonction tu fais une simple boucle pour les afficher !.!
    sinon il y a aussi getElementsByTagName

    a+

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Ol�iculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 64
    Localisation : France

    Informations professionnelles :
    Activit� : DevWeb - Ol�iculteur
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par d�faut
    Citation Envoy� par E.Bzz Voir le message
    Bonjour,
    Je n'ai pas lu plus loin : c'est interdit
    (un id doit �tre unique dans la page)
    Vu le comportement du navigateur, je me doutais bien que je n'arriverais pas � le blouser

    Merci htr999 pour l'info, m�me si j'ai d�j� utiliser � de nombreuses occasions cette m�thode. Mais vu que dans ma page j'ai 6200 cases � cacher ou a faire apparaitre, je voulais �viter d'effriter les performances avec une boucle. Grave erreur de ma part, j'ai fait l'essai c'est super rapide (chapeau JS !).

    J'ai une autre question:Comment puis je connaitre la valeur max de l'index sachant que ma page est construite avec du php et que je ne connais sa valeur qu'a la fin de la g�n�ration ?

    Vous me suivez?

    Existe t il un moyen plus rapide que de reparcourir toute la page pour trouver la plus grande valeur de l'index 'n', avant de lancer Show_Hide(n) ?

    J'ai pens� mettre le bouton de d�clenchement en bas de page, mais bof

    Comme support, je poste le code �chantillon qui fonctionne avec un index fixe.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <html>
    <head>
    	<style type="text/css" title="text/css">
    	td{		border-color: #DDD;
    			background-color: #39F;
    			width: 50;
    			border-style: solid;
    			border-color: #555;
    			border-width: 2px;}
    	</style>
    </head>
     
    <script type="text/javascript">
    function Show_Hide(n) {
     
    	for ( x =1 ; x <= n ; x++){
     
    		var obj = document.getElementById("paye" + x);
     
    			if (obj.style.display=='block') {
    				// Affiche
    				obj.style.display='none';
    			} else {
    				// Cache
    				obj.style.display='block';
    			}
    	}
    }
    </script>
    <body>
    <div  onclick="Show_Hide(3);">Voir/Cacher</div>
    <table>
    	<tr>
    		<td id=paye1>&nbsp</td>
    		<td id=paye2>&nbsp</td>
    		<td id=paye3>&nbsp</td>
    	</tr>
    </table>
    </body>
    </html>

  5. #5
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par riete Voir le message
    Existe t il un moyen plus rapide que de reparcourir toute la page pour trouver la plus grande valeur de l'index 'n', avant de lancer Show_Hide(n) ?
    Ces index sont g�n�r�s par le serveur (PHP, ASP ...), je suppose ?
    Il te suffit de m�moriser la derni�re valeur � ce niveau, et de la stocker dans la page (variable JS, input hidden ...)

    A+

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    D�veloppeur PHP, .Net, T-SQL
    Inscrit en
    D�cembre 2006
    Messages
    2 379
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activit� : D�veloppeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 2 379
    Par d�faut
    Citation Envoy� par riete
    ...je ne connais sa valeur qu'a la fin de la g�n�ration ?
    oui, effectivement ensuite du c�t� serveur avec php
    Citation Envoy� par E.Bzz
    Il te suffit de m�moriser la derni�re valeur � ce niveau, et de la stocker dans la page (variable JS, input hidden ...)

  7. #7
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Ol�iculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 64
    Localisation : France

    Informations professionnelles :
    Activit� : DevWeb - Ol�iculteur
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par d�faut
    Citation Envoy� par E.Bzz Voir le message
    Ces index sont g�n�r�s par le serveur (PHP, ASP ...), je suppose ?
    Il te suffit de m�moriser la derni�re valeur � ce niveau, et de la stocker dans la page (variable JS, input hidden ...)

    A+
    Ceci m'aura permis de mieux comprendre la visibilit� des variable JS. Le input hidden n'est pas n�cessaire puisqu'il n'y a pas formulaire.
    J'ai mis en fin de code l'affectation de la valeur de l'index max et �a gaz!
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    echo "<script>var max_Index=".$Index_Cell.";</script>";
    merci en tout cas

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Contenu d�cal� au passage du display:none au display:block
    Par Invit� dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 03/05/2013, 09h11
  2. Display:none & display:block
    Par RicardoBxl dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 16/01/2013, 22h49
  3. Display:none & Display:block
    Par RicardoBxl dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 5
    Dernier message: 11/01/2013, 21h19
  4. Probl�me sous Firefox display none / block
    Par jeromed dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 12
    Dernier message: 05/02/2010, 17h08
  5. DIV display none block
    Par kishkaya dans le forum Mise en page CSS
    R�ponses: 4
    Dernier message: 08/08/2007, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo