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 :

style sur un lien


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut style sur un lien
    Bonjour,
    j'essaie d'afficher un lien en blanc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    if (isset ($_GET['id_article'])) {
    $lien=$_GET['id_article'];
    	echo '<script>document.getElementById(\'actif'.$lien.'\').style.background="white";</script>';
    }
    echo '<ul><li id="actif'.$lien.'">ssss</li></ul>';
    la balise <li> m'affiche, mais j'ai surement un probl�me parceque le style n'est pas modifier ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script>document.getElementById('actif9').style.background="white";</script><ul><li id="actif9">ssss</li></ul>

  2. #2
    Membre confirm� Avatar de gKsam
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 166
    Par d�faut et comme �a
    Des fois c'est tout b�te et on y pense pas.

    Quand une page est charg�e, les script sont ex�cut� � la vol�e. Donc, dans ta ligne :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script>document.getElementById('actif9').style.background="white";</script><ul><li id="actif9">ssss</li></ul>
    Cela change la couleur (ici de fond) tu peux aussi utiliser backgroundColor. ton li n'a pas encore �t� cr��e. Donc il faut tout b�tement inverser les choses et hop cela marche.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <ul><li id="actif9">ssss</li></ul><script>document.getElementById('actif9').style.background="white";</script>

  3. #3
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut
    oui � la fin sa fonctionne l'ennui c'est que ma fa�on de faire ne fonctionne plus sur une boucle :
    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
     function menu($rubrique) {
     		$req="SELECT id_article, description, page  FROM pages where rubrique='$rubrique'";
    		$result = mysql_query($req);
    		if (!$result)
    		return false;
    		if (isset ($_GET['id_article']))
    			$lien=$_GET['id_article'];
    		while($affiche = mysql_fetch_assoc($result)){
    		echo '<li id="actif'.$lien.'">';
    		echo '<a href="dossier.php?id_article='.$affiche['id_article'].'"';?> onMouseOver="return overlib('<?php echo addslashes($affiche['description']);?>', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();"><?php echo $affiche['page'];?>&nbsp;&raquo;</a>
    		</li>
    		<?php
                    }
                    ?>
    				<script>document.getElementById('actif<?php echo $lien;?>').style.Color="yellow";</script>
    		<?php
     }
    Donc cette fois tous les liens ont le m�me id, ce qui est normel, mais y a t'il une m�tode propre de faire ce que je veux faire ?
    Merci

  4. #4
    Membre confirm� Avatar de gKsam
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 166
    Par d�faut Ha ben oui mais l�...
    Pour moi le id est un identifiant. Donc il devrai �tre unique. D'ailleurs, si tu regarde la doc de getElementById() ici

    Tu verras que getElementById ne renvoi qu'un seul �l�ment. (je pense le premier)

    Quand on veut faire de la mise en forme d'�l�ments dans un page. Le mieux c'est penser CSS et class.

    Donc si tu mets la m�me class � tous tes <li> et que tu modifies le fichier css qui va avec le tour sera jou� et en plus tu simplifieras ton code.

    dans ton fichier HTML (ici dans tes echo PHP)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <ul><li class="nomClass">ssss</li></ul>
    Dans le fichier CSS
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    li.nomClass {
     
       background : white;
    }

  5. #5
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut
    j'ai fait autrement :
    Mais sa fonctionne toujours pas !
    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
     function menu($rubrique) {
     		$req="SELECT id_article, description, page  FROM pages where rubrique='$rubrique'";
    		$result = mysql_query($req);
    		if (!$result)
    		return false;				
    		while($affiche = mysql_fetch_assoc($result)){
    		if (isset ($_GET['id_article']))
    			$page_courante=$_GET['id_article'];
    		if ($page_courante == $affiche['id_article'])
    			$class= "menu_actif";
    		echo '<li class='.$class.'>';
    		echo '<a href="dossier.php?id_article='.$affiche['id_article'].'"';?> onMouseOver="return overlib('<?php echo addslashes($affiche['description']);?>', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();"><?php echo $affiche['page'];?>&nbsp;<span class="crochet_lien">&raquo;</span></a>
    		</li>
    		<?php	
    		}
     }

  6. #6
    Membre confirm� Avatar de gKsam
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 166
    Par d�faut demande des sources HTML
    Peux-tu poster bout de code HTML de ce ton code PHP fait. Et � quoi sert la fonction overlib() ?

  7. #7
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut
    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
    function menu($rubrique) {
             $req="SELECT id_article, description, page  FROM pages where rubrique='$rubrique'";
            $result = mysql_query($req);
            if (!$result)
            return false;                
            while($affiche = mysql_fetch_assoc($result)){
            if (isset ($_GET['id_article']))
                $page_courante=$_GET['id_article'];
            if ($page_courante == $affiche['id_article'])
                $class= "menu_actif";
            echo '<li class='.$class.'>';
            echo '<a href="dossier.php?id_article='.$affiche['id_article'].'"';?> onMouseOver="return overlib('<?php echo addslashes($affiche['description']);?>', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();"><?php echo $affiche['page'];?>&nbsp;<b class="crochet_lien">&raquo;</b></a>
            </li>
            <?php    
            }
     }
    html renvoyer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                   <ul><li class=""><a href="dossier.php?id_article=4" onMouseOver="return overlib('bla bla bla', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();">honoraires&nbsp;<b class="crochet_lien">&raquo;</b></a>
     
          </li>
          <li class=""><a href="dossier.php?id_article=9" onMouseOver="return overlib('bla bla bla', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();">charte&nbsp;<b class="crochet_lien">&raquo;</b></a>
          </li>
          <li class="menu_actif"><a href="dossier.php?id_article=12" onMouseOver="return overlib('bla bla bla', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();"> notre méthode&nbsp;<b class="crochet_lien">&raquo;</b></a>
          </li>
          <li class="menu_actif"><a href="dossier.php?id_article=13" onMouseOver="return overlib('bla bla bla', FGCOLOR, '#FC7A00', BGCOLOR, '#FFAE5F', BORDER, 1, CAPTIONFONT, 'arial', TEXTFONT, 'arial', TEXTSIZE, 0.7)" onmouseout="return nd();"> espace client&nbsp;<b class="crochet_lien">&raquo;</b></a>
     
          </li>
          </ul>
    En faite � partir du moment ou il trouve la variable dans la boucle, il affiche la variable de la .class dans tout le reste se qui est logique !
    Rolling Eyes
    C'est la raison pour laquelle j'ai plusieurs .class dans mon menu
    ps overlib c'est une librairie de popup

  8. #8
    Membre confirm� Avatar de gKsam
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 166
    Par d�faut C'est �a que tu veux?
    A copi� dans une page HTML vide (enfin html, head, body) le minimum quoi.

    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
    <style type="text/css">
    body {
     
    	background-color: #EEEEEE;
    }
     
    li.menu_actif {
     
    	background: white;
    }
    </style>
     
    <ul>
    	<li>
    		<a href="dossier.php?id_article=4">honoraires&nbsp;<b>&raquo;</b></a>
        </li>
        <li>
        	<a href="dossier.php?id_article=9">charte&nbsp;<b>&raquo;</b></a>
        </li>
        <li class="menu_actif">
        	<a href="dossier.php?id_article=12">notre méthode&nbsp;<b>&raquo;</b></a>
        </li>
        <li class="menu_actif">
        	<a href="dossier.php?id_article=13">espace client&nbsp;<b>&raquo;</b></a>
        </li>
    </ul>
    c'est juste pour savoir si c'est ce r�sultat la que tu veux.

    Personnellement, avant de passer au code PHP ou autre, je fait mon mod�le en HTML et ensuite je l'int�gre dans le code une fois que cela fonctionne comme je veux.

  9. #9
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut
    d'ailleurs mon css d�bloque et moi je pousse un ouf de d�s�spoir.

  10. #10
    Membre confirm� Avatar de gKsam
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 166
    Par d�faut quand le css d�bloque
    quand le css ou le js d�bloque. Vides le cache du navigateur. Des fois �a marche.

    Quand c'est comme �a, ce que je fait c'est que je refais ce que je voulais mais sans le code PHP. juste le HTML, CSS. Ensuite j'int�gre le javascript et � la fin je fait g�n�r� le tout par PHP.

    C'est un peu plus long mais au moins je ne debug pas du code javascript dans des echo PHP.

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

Discussions similaires

  1. Utiliser des styles diff�rents en fonction du clic sur un lien
    Par tahiiri dans le forum Mise en page CSS
    R�ponses: 3
    Dernier message: 07/06/2009, 16h02
  2. style sur un lien et une image
    Par adamo901 dans le forum Mise en page CSS
    R�ponses: 18
    Dernier message: 29/08/2008, 18h27
  3. confirmation sur un lien
    Par AlphonseBrown dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 30/01/2005, 18h49
  4. question sur les liens images
    Par geoffreykill dans le forum Mise en page CSS
    R�ponses: 4
    Dernier message: 21/01/2005, 14h37
  5. [JSP][Javascript] click droit sur un lien
    Par Stessy dans le forum Servlets/JSP
    R�ponses: 22
    Dernier message: 24/09/2004, 10h14

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