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 :

Bug Firefox/Chrome mais pas sur IE8


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Par défaut Bug Firefox/Chrome mais pas sur IE8
    Bonjours,
    Je suis en train de faire un menu pour un petit site pour notre intranet à mon travail.

    Le principe est simple j'ai une div #menu qui contient 2 div #menuHaut et #menuBas. #MenuHaut contient un liste <ul> de 3 <li> et #menuBas contient 3 <div> #divClient #divTechnique #divAdministration avec chancun une liste à l'intérieur.

    Avec mon css je met un display:none sur mes 3 div dans #menuBas. Quand je clique sur un <li> du #menuHaut il me fait un visible sur la div qui correspont.

    Si je clique sur un autre élément toute les div sont cacher et en suite j'affiche elle correspondant.

    Si je clique sur un élément ou la div est déjà visible elle se cache.

    Dans ie8 sa marche à merveille mais sur FireFox et Chrome elle ne se cache pas si je reclique sur l'élément déjà selectionner.

    Voici mon code JQUERY

    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
    $(document).ready(function() {
    	$('#menuHaut li').click(function() {
    		if($(this).css('color')=='red')
    			{
    			 $('#menuHaut li').css('color','white')
    			 $('#menuBas div').hide();
    			}
    		else
    			{
    			 $('#menuHaut li').css('color','white')
    			 $('#menuBas div').hide();
    			 $(this).css('color','red');
    			 $('#div'+$(this).text()).show();
    			}
     
    		});
    });
    À noter que les <li> de mon menu sont blanc mais que lorsque je clique dessus ils deviennent rouge.

    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir et bienvenue sur DVP.
    Mets donc le code HTML de ta structure, cela facilitera le test et qui sait...

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($(this).css('color')=='red')
    Il me semble que Chrome et FF convertissent automatiquement en code hexadécimal les couleurs. Il va falloir faire un test un peu plus solide que ça ! Avec des classes par exemple.

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    $(this).css('color') donne une couleur au format rgb.

    Le plugin officiel jQuery.Color travaille au format rgba, il permet de manipuler et d'animer les couleurs.

    Utilisation : <script src="http://code.jquery.com/color/jquery.color-2.1.1.min.js"></script>.

    Pour votre comparaison de couleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( $.Color( this, "color" ).toHexString( "includeAlpha" ) === $.Color( "red" ).toHexString( "includeAlpha" ) ){
        // votre code
    };

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Par défaut
    Merci beaucoup a vous tous ! La solution d'utiliser les codes rgb fonctionne parfaitement. Merci encore!

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 14/05/2012, 11h04
  2. PHP son (musique) sous chrome mais pas sous IE8
    Par tsig00 dans le forum Débuter
    Réponses: 2
    Dernier message: 10/05/2012, 17h24
  3. Réponses: 1
    Dernier message: 02/02/2012, 16h15
  4. Code marche sur google chrome mais pas sur ie
    Par evaflint69 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 29/10/2009, 17h09
  5. [Embed] pb avec firefox, ie7, chrome mais pas ie8 !
    Par Ouija33 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/10/2008, 21h39

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