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 :

Menu tooltips avec un comportement bizarre


Sujet :

jQuery

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut Menu tooltips avec un comportement bizarre
    Bonjour,

    j'aimerais mettre en place un menu comme sur http://store.apple.com/fr (Aide, Votre compte, Voir panier) a l'aide de jquery mais j'ai un peu de mal.
    voici en gros ce que j'ai fait:
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    //Code html
    <ul id="menu">
        <li><a href="javascript:;" id="menu1">Menu 1</a></li>
        <li><a href="javascript:;" id="menu2">Menu 2</a></li>
        <li><a href="javascript:;" id="menu3">Menu 3</a></li>
    </ul>
     
    // contenu menu 1
    <div id="tt-menu1" class="menu-sub-tt">
        <ul class="my-list">
            <li><a href="lien.html">Titre 1 menu 1</a></li>
            <li><a href="lien.html">Titre 2 menu 1</a></li>
            <li><a href="lien.html">Titre 3 menu 1</a></li>
        </ul>
    </div>
     
    // contenu menu 2
    <div id="tt-menu2" class="menu-sub-tt">
        <ul class="my-list">
            <li><a href="lien.html">Titre 1 menu 2</a></li>
            <li><a href="lien.html">Titre 2 menu 2</a></li>
            <li><a href="lien.html">Titre 3 menu 2</a></li>
        </ul>
    </div>
     
    // contenu menu 3
    <div id="tt-menu3" class="menu-sub-tt">
        <ul class="my-list">
            <li><a href="lien.html">Titre 1 menu 3</a></li>
            <li><a href="lien.html">Titre 2 menu 3</a></li>
            <li><a href="lien.html">Titre 3 menu 3</a></li>
        </ul>
    </div>
     
    // Code jquery
    $("#menu a").mouseenter(function () {
    	$(this).addClass("menu-sub-active");
    	$("#tt-" + $(this).attr('id')).stop().fadeTo(300, 1);
    }).mouseleave(function () {
    	$(this).removeClass("menu-sub-active");
    	$("#tt-" + $(this).attr('id')).stop().fadeTo(400, 0, function() { $("#tt-" + $(this).attr('id')).hide(); });
    });
     
    $(".menu-sub-tt").mouseenter(function () {
    	$(this).stop().show();
    }).mouseleave(function () {
    	$(this).stop().fadeTo(400, 0, function() { $(this).hide(); });
    });
    je ne mets pas les css car tout est bien affiché.
    Lorsque je survole le menu, tout marche bien, mais le probleme est quand je deplace la curseur sur le contenu du menu (#tt-menu1, #tt-menu2 et #tt-menu3) que j'ai un comportement bizarre. sauriez vous ce qui ne va pas? o auriez vous une maniere meilleur et plus propre de le faire?

    En vous remerciant par avance.

  2. #2
    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 : 73
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonjour

    En général, sans la totalité du code (même s'il est réputé irréprochable) ou un lien vers la page il m'est impossible de faire un test et de me rendre compte du problème et donc de répondre à la question.

    Dans votre cas, en voyant votre script, je pense que vous tombez dans le cas type décrit dans la FAQ jQuery : Pourquoi ma fonction hover() provoque-t-elle un va-et-vient ?

    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.)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    Bonjour Daniel et merci pour votre reponse.
    pour faire simple, voici le lien vers une page contenant le menu dont je parle:
    http://www.moroccan-arts.fr/test-menu.php

    Merci encore une fois

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,
    Juste pour info, j'ai un peu modifié le code et j'ai mis ceci pour le menu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $("#menu-sub a").hover(function() {
    	$(this).addClass("menu-sub-active");
    	$("#tt-" + $(this).attr('id')).stop(true).fadeTo(300, 1);
    }, function() {
    	$(this).removeClass("menu-sub-active");
    	$("#tt-" + $(this).attr('id')).stop(true).fadeTo(300, 0, function() { $("#tt-" + $(this).attr('id')).hide(); });
    });
    ca l'air de marcher mieux mais j'ai par contre toujours le problem lorsque je survole le contenu du menu deroulant!!
    une idee??
    Merci

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    pourquoi pas toggleClass() ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    au fait le probleme majeur n'est pas la class css mais plutot le jquery que je n'arrive pas a mettre en place pour le menu...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    j'ai finalement pu resoudre le probleme, et voici le code jQuery si quelqu'un se trouve dans le meme cas:
    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
    $("#menu-sub a").hover(function() {
    		$(this).addClass("menu-sub-active");
    		$("#tt-" + $(this).attr('id')).stop(true).fadeTo(300, 1);
    	}, function() {
    		$(this).removeClass("menu-sub-active");
    		$("#tt-" + $(this).attr('id')).stop(true).fadeTo(200, 0, function() { $(this).hide(); });
    	});
     
    	$(".menu-sub-tt").hover(function() {
    		var link_active = $(this).attr('id').substr(3);
    		$("#menu-sub a#" + link_active).addClass("menu-sub-active");
    		$(this).stop(true).show().fadeTo(300, 1);
    	}, function() {
    		$("#menu-sub a").removeClass("menu-sub-active");
    		$(this).stop(true).fadeTo(200, 0, function() { $(this).hide(); });
    	});
    MErci en tout cas

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    toggleClass eut permis de simplifier ce code...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    ummm, c'est vraiment pas la joie, le code jquery que j'ai soumis bug dans certains cas...
    j'espere avoir des reponses avec des propositions de code meilleurs.

    Merci

Discussions similaires

  1. [WD17] Synchronisation de threads avec signaux, comportement bizarre
    Par droliprane dans le forum WinDev
    Réponses: 7
    Dernier message: 08/10/2014, 18h57
  2. Bouton personnalisé avec un comportement bizarre
    Par laedit dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 22/04/2009, 04h01
  3. Comportement bizarre de script avec "my"
    Par Jjeje007 dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2007, 07h57
  4. [TRANSAQ SQL] INSERT comportement bizarre avec les REAL
    Par argyronet dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/12/2005, 11h47
  5. xsl:test .... avec comportement bizarre
    Par Blue LC dans le forum XMLRAD
    Réponses: 2
    Dernier message: 10/06/2005, 13h56

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