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 :

positionner une infobulle


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut positionner une infobulle
    Bonsoir à tous,

    J'ai dégoté un javascript infobulle sympa.
    Je cherche à positionner la bulle au dessus et non au dessous de la souris comme c'est le cas actuellement.
    Voilà ce que je crois être le code de positionnement.
    Au pire, je peux vous copier tout le code.
    if(i){
    if(navigator.appName!="Microsoft Internet Explorer"){
    ElementId("bulle").style.left = 5+e.pageX+"px";
    ElementId("bulle").style.top = 5+e.pageY+"px";
    }else{
    ElementId("bulle").style.left = 5+event.x+document.documentElement.scrollLeft+"px";
    ElementId("bulle").style.top = 15+event.y+document.documentElement.scrollTop+"px";
    }
    }
    }
    Merci pour votre aide.

  2. #2
    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 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    je pense que tu dois avoir une petite lib derrière ...
    ben au lieu de faire 5+ suffit de faire -5 .. non ?
    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 !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Merci pour la réponse.
    J'ai en effet pu modifier la position de l'image, j'avais fait des tests dans ce sens mais j'ai du cafouiller quelque part.
    Pour "Lib", je n'ai pas compris à quoi tu fais allusion.

    Sinon, je reste avec un problème.
    J'ai des vignettes sur ma page, quand je passe la souris dessus, l infobulle les affiche en grand.
    Si je positionne une image à droite et que je passe la souris dessus, mon info bulle (qui contient des images) sort de la fenêtre...

    2 solutions:
    1) gérer la position gauche droite et effectuer une bascule si besoin.
    2) définir une position fixe dans la fenêtre sur laquelle.

    Les deux solutions m'interessent car je ne sais pas encore comment va évoluer le développement de la page.

    Voici le code en entier donc...
    /*----------------------------*/
    /* Script Infobulle
    /* www.webelix.net
    /*----------------------------*/

    // on charge la feuille de style de la bulle.
    document.write('<style type="text/css">@import url(infobulle.css);</style>');
    // on formate la bulle.
    document.write('<div id="bulle" class="infos_bulle"></div>');
    // on met à jour la position de la bulle.
    document.onmousemove = move_bulle;

    var i=false; // La variable i nous dit si la bulle est visible ou non

    function ElementId(id)
    {
    return document.getElementById(id);
    }

    function move_bulle(e) // Fonction de suivi de la souris
    {
    if(i){
    if(navigator.appName!="Microsoft Internet Explorer"){
    ElementId("bulle").style.left = 5+e.pageX+"px";
    ElementId("bulle").style.top = -200+e.pageY+"px";
    }else{
    ElementId("bulle").style.left = 5+event.x+document.documentElement.scrollLeft+"px";
    ElementId("bulle").style.top = -200+event.y+document.documentElement.scrollTop+"px";
    }
    }
    }

    function open_bulle(content)
    {
    if(i==false){
    ElementId("bulle").style.visibility = "visible"; // Si la bulle est cacher on la rend visible.
    ElementId("bulle").innerHTML = content; // on copie le contenu dans la bulle
    move_bulle(ElementId("bulle")); // positionnement initial (correctif X.Dusart)
    i=true;
    }
    }

    function close_bulle()
    {
    if(i==true){
    ElementId("bulle").style.visibility = "hidden"; // Si la bulle est visible on la cache
    i=false;
    }
    }
    Merci pour l'aide précieuse!
    Temps de réactivité impressionnant sur ce forum!



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

Discussions similaires

  1. Positionner une infobulle
    Par lacja75 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/11/2011, 13h48
  2. Comment positionner une infobulle en position prédéfinie?
    Par idamarco dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 18/02/2009, 14h03
  3. probléme pour positionner une infobulle
    Par stars333 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/06/2007, 11h46
  4. comment Positionner une image sur une autre ?
    Par moumoule17 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/11/2004, 16h41
  5. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 01h05

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