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

jQuery Discussion :

[JQuery]style css :hover


Sujet :

jQuery

  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 183
    Par défaut [JQuery]style css :hover
    Bonjour,

    J'ai 2 liens dans ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="#" id="menu">plop</a>
    <a href="#" id="sous-menu">sous-plop</a>
    et une feuille de style qui ressemble à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a#menu{
    background-color: red;
    }
     
    a#menu:hover{
    bacground-color: green;
    }
    Le sous-menu n'est pas stylé mais on ne s'en préoccupe pas.

    Donc la problématique maintenant, je souhaiterais, lorsque je survole le sous-menu, changer la classe du menu et la passer en :hover.

    C'est à dire que lorsque je fait un onmouseover sur le a#sous-menu il le fasse aussi sur le a#menu. Auriez-vous quelques pistes merci.
    Avec JQuery si possible

  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,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" id="sous-menu" onmouseover="this.parentNode.className = 'class_hover';">sous-plop</a>
    A+

  3. #3
    Membre confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 183
    Par défaut
    Merci de ta réponse mais ça c'est simple et ce n'est pas ce que je cherche à faire, j'ai du mal m'expliquer.

    J'ai stylé ma balise "a" de 2 manières différentes une basique et une lorsque l'on passe la souris par dessus (:hover)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a {
    background-color: red;
    }
     
    a:hover {
    bacground-color: green;
    }
    Et je souhaite donc utiliser la class a:hover que j'ai déjà crée mais au survol d'une autre balise a je ne souhaite pas créer une seconde classe qui effectuera le même comportement.

  4. #4
    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 Ashgenesis Voir le message
    Et je souhaite donc utiliser la class a:hover que j'ai déjà crée mais au survol d'une autre balise a je ne souhaite pas créer une seconde classe qui effectuera le même comportement.
    Sauf que a:hover n'est pas une class.
    C'est un style CSS.
    Et un style CSS dynamique ne peut s'appliquer (en CSS) qu'à l'élément auquel il est attaché ...

    Es-tu sûr d'avoir posté dans le bon forum (si tu ne souhaites pas de solution JS) ?

    A+

  5. #5
    Membre confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 183
    Par défaut
    Oui je suis sûr d'avoir posté dans la bonne section, je ne réfute pas la solution par Javascript proposée. Celle ci je la connais déjà et je cherchais en fait un autre moyen afin d'éviter de répéter mon CSS une seconde fois pour faire la même chose.

    Je ne cherche pas non plus à appliquer un style css dynamique à un autre élément mais juste de le déclencher au survol d'un autre élément.

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
        <style type="text/css">
            a {
                background-color: red;
            }
     
            a:hover {
                background-color: green;
            }
     
            .class_hover {
                background-color: green;
            }
        </style>
    </head>
    <body>
        <a href="#" id="menu">MENU</a>
        <a href="#" id="sous-menu">sous-menu</a>
            <script type="text/javascript">
            $(document).ready(function() {
                $("#sous-menu").hover(
                    function () {
                        $("a#menu").addClass('class_hover');
                    },
                    function () {
                        $("a#menu").removeClass('class_hover');
                    }
                );
            });
        </script>
    </body>
    </html>
    Voilà un exemple concret de ce que je cherche à faire mais ceci sans utiliser la classe "class_hover" car elle est redondante par rapport au a:hover

Discussions similaires

  1. [html][Css] Hover: Bug bizare
    Par méphistopheles dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 03/10/2005, 17h59
  2. Obtenir le style CSS d'un objet
    Par Sub0 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/08/2005, 15h46
  3. Conflit dans les styles CSS
    Par Nerva dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/03/2005, 22h56
  4. Comment appliquer un style CSS ?
    Par adameteve dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 10/03/2005, 21h52

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