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

Mise en page CSS Discussion :

Probleme sur display:none;


Sujet :

CSS

  1. #1
    Invité
    Invité(e)
    Par défaut Probleme sur display:none;
    Bonjour, je tente d’adapter un petit script javascript qui fonctionne parfaitement a un code php.

    Voici ce code:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <SCRIPT TYPE="text/javascript">	
        function showWait()
            {
        if (document.getElementById('plus1').style.display='block')
        {
        return "document.getElementById('plus1').style.display='none'"
         }
        return false
            }</SCRIPT>

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div class="testRight">
    		<a id="la_suite1" class="la_suite"  href="#debutgun" onclick="showWait();"  >
    		Lire la suite</a>
    	<div id="plus1" style="display:none; width:500px; " onclick="document.getElementById('la_suite1').style.display='none'; "> 
     
    			Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
    			tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    			quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
    			consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    			cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    			proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    	</div>
    </div>


    Dans mon script j'ai :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <SCRIPT TYPE="text/javascript">	
        function showWait(){
    		if (document.getElementById('plus2').style.display='block'){
    			return "document.getElementById('plus2').style.display='none'"
    		}
    		return false
    </script>

    qui contient les divs et boutons
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include 'content/Plus_horaire_gta.php';
    include 'content/Plus_horaire_gta2.php';
    dans Plus_horaire_gta.php j'ai :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("<input type=\"button\" class=\"btn btn-primary\" onClick=\"showWait()\" value=\"Ajouter un horraire\">");
    dans Plus_horaire_gta2.php j'ai :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    printf("<div id=\"plus2\" style=\"display:none;\">");	
    ......
    printf("</div>");

    Malgré tout ceci, le display none n'est pas pris en compte au départ
    Merci de votre aide
    Dernière modification par Bovino ; 05/02/2013 à 11h58. Motif: Merci d'indiquer le langage utilisé ([code=xxx]) !

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById('plus1').style.display='block')


    Le signe =, c'est pour faire une affectation, pas une comparaison !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui en effet ! Merci de cette correction, mais je n'arrive toujours pas à saisir pourquoi la div #plus1 est visible malgré le display:none; au départ.
    Dernière modification par vermine ; 05/02/2013 à 11h55. Motif: Il n'est pas nécessaire de citer la dernière réponse entièrement

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    J'ai l'impression qu'il y a deux fois la fonction showWait() avec une définition différente. C'est normal ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Oui effectivement la première est celle de mon exemple qui n'est pas inclus dans mon code
    Dernière modification par Bovino ; 05/02/2013 à 12h21. Motif: Inutile de citer un message pour y répondre !

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Il faudrait nous donner le code HTML généré alors.

  7. #7
    Invité
    Invité(e)
    Par défaut
    j'obtiens ceci

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="plus2" style="display:none;"></div>
    Dernière modification par Bovino ; 05/02/2013 à 13h06. Motif: Inutile de citer un message pour y répondre !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Avant ce bout de code le display:none fonctionne mais après non....
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    printf("<table class=\"liasse_tables\">");
    printf("<tr>");
    	printf("<td colspan=\"9\">");
    		printf("<a class=\"btn\" data-toggle=\"modal\" href=\"#myModal3\" >");
    		printf("<img src=\"commun/img/aide.png\" width=\"20\" height=\"20\""); 
    		printf(" alt=\"Aide sur les astreintes\"></a>");
    		printf("<em>Consultez la rubrique d'aide avant de remplir ces champs</em>");
    	printf("</td>");
    printf("</tr>");
    Dernière modification par Bovino ; 07/02/2013 à 10h58. Motif: Merci d'indiquer le langage utilisé ([code=xxx]) + réduction d'indentation !!!

  9. #9
    Invité
    Invité(e)
    Par défaut
    J'ai résolu mon problème !! en faite display:none ne fonctionne dans un élément de type table que sur les tr ou un élément de type tbody par exemple

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 232
    Par défaut
    Bonjour,
    Citation Envoyé par clashnco
    (...) en faite display:none ne fonctionne dans un élément de type table que sur les tr ou un élément de type tbody par exemple
    cela marche parfaitement sur des TD également.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <table border>
      <tr>
        <td>L1C1</td>
        <td style="display:none">L1C2</td>
        <td>L1C3</td>
      </tr>
      <tr>
        <td>L2C1</td>
        <td>L2C2</td>
        <td>L2C3</td>
      </tr>
    </table>
    Par contre une petite question
    Es tu conscient que ta fonction ne masque pas l'élément mais retourne une chaine de caractère?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function showWait() {
      if (document.getElementById('plus1').style.display == 'block') {
        return "document.getElementById('plus1').style.display='none'"
      }
      return false
    }

  11. #11
    Invité
    Invité(e)
    Par défaut
    Merci de la précision, oui j'en suis conscient du coup j'ai utilisé une autre fonction :

    Code javascript : 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
    function Affiche_OBJ(){
    	var Arg = arguments; 
    	var Obj;
    	for( var i=0; i< Arg.length; i++){ 
    		Obj = document.getElementById( Arg[i]); 
    		if( Obj){
    			Obj.style.visibility = "visible";
    			Obj.style.display = "";
    		}
    	}
    } 
    function Masque_OBJ(){
    	var Arg = arguments; 
    	var Obj;
    	for( var i=0; i< Arg.length; i++){
    		Obj = document.getElementById( Arg[i]); 
    		if( Obj){
    			Obj.style.visibility = "hidden";
    			Obj.style.display = "none";
    		}
    	}
    }
    Dernière modification par Bovino ; 07/02/2013 à 10h56. Motif: Réduction de l'indentation : merci pour ceux qui lisent...

  12. #12
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Diablerie, je n'avais même pas fait attention à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (document.getElementById('plus2').style.display='block'){
       return "document.getElementById('plus2').style.display='none'"
    }
    Bien vu, NoSmoking.

    Le return n'est pas obligatoire. Donc en gros ça donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (document.getElementById('plus2').style.display=='block'){
       document.getElementById('plus2').style.display='none';
    }

  13. #13
    Invité
    Invité(e)
    Par défaut
    merci pour cette précision

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Display: none sur div enfant
    Par lolo34140 dans le forum Général JavaScript
    Réponses: 31
    Dernier message: 26/03/2013, 11h35
  2. Agir sur un Children qui est display:none
    Par smthg.bzr dans le forum jQuery
    Réponses: 1
    Dernier message: 20/01/2012, 15h13
  3. Display:none sur IE
    Par chantren dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 05/08/2010, 12h24
  4. display none sur un <li>
    Par Dev@lone dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 04/11/2009, 19h20
  5. Faire fonctionner le onfocus sur un élément en display:none
    Par eXiaNazaire dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/04/2006, 12h10

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