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 :

[Débutant] Problème Infobulle JavaScript


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [Débutant] Problème Infobulle JavaScript
    Bonjour,

    Je cherche à développer une carte de France interactive où lorsque l'on clique sur un département une sorte d'infobulle avec des liens qui s'affiche à coté de la souris.

    Apres des recherches, j'ai trouvé un bout de code que j'ai éssayer d'adapter à ma situation.

    Le problème est le suivant :
    Le texte de l'infobulle précédente s'ajoute à celui de l'infobulle actuelle :



    Voici le javascript associée :
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
        document.write('<div style="position:absolute;display:none" id="bulle"></div>')
        var bal=false;
        var lien=false;
        var im=false;
        var bulle=document.getElementById('bulle');
        // affichage de la bulle
        function on(e){
            if(!e){
                window.event.cancelBubble=true
            }
            else{
                e.stopPropagation()
            };
            //position de la bulle
            ns= (navigator.appName.search("Nestcape")!=-1) ? window.pageXOffset : 0;
            ns2= (navigator.appName.search("Nestcape")!=-1) ? window.pageYOffset : 0;
            posx= (!e) ? event.clientX+document.documentElement.scrollLeft : e.pageX+ns;
            posy= (!e) ? event.clientY+document.documentElement.scrollTop : e.pageY+ns2;
            hori=(posx > (screen.availWidth - 200)) ? -250 : 0;
            bulle.style.left= posx+hori+"px";
            bulle.style.top= posy+"px";
            bulle.style.display='block';
            //gestion du type d'élément
            bal=document.createElement('div');
            bal.style.fontWeight=100;
            bal.style.backgroundColor="pink";
            typ=this.tagName;
    		bal2=false;
            bal2=document.createTextNode("Balise \"" + this.tagName + " " + typ + "\"." + " (" + tags[this.tagName] + ") ");
            bal.appendChild(bal2);
            bulle.appendChild(bal);
        }
        //masquage de la bulle
        function off(e){
            if(!e){
                window.event.cancelBubble=true
            }
            else{
                e.stopPropagation()
            };
            bulle.style.display='none';
            if(bal){
                bulle.removeChild(bal);
                bal=false
            };
        }
        // ajoutez ou enlevez les éléments que vous voulez dans les tableaux suivants
        var tagtype=new Array('MAP');
        var expl=new Array('cellule de tableau');
        var tags=new Array();
        for(i=0;i != tagtype.length;i++){
            tags[tagtype[i]]=expl[i]
        }
        for(i=0;i != tagtype.length;i++){
            for(j=0;j != document.getElementsByTagName(tagtype[i]).length;j++){
                document.getElementsByTagName(tagtype[i])[j].onclick=on;
                //document.getElementsByTagName(tagtype[i])[j].onmouseout=off;
            };
        }
        document.body.onclick=off;
    Ce que j'aimerais c'est qu'il n'y ait qu'une ligne dans une infobulle.
    J'espère avoir été assez clair.

    Merci

  2. #2
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Ajout bulle.innerHTML = "" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    bulle.innerHTML = "";
    bulle.style.display='block';

Discussions similaires

  1. [Débutant] Problème de variables
    Par bonnefr dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 12/05/2004, 17h41
  2. Réponses: 2
    Dernier message: 28/04/2004, 11h25
  3. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40
  4. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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