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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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() ?

+ 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