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 :

infobulle recalcitrante [Fait]


Sujet :

JavaScript

  1. #1
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut infobulle recalcitrante
    Le contexte...
    Je construis le site à partir de xmlhttprequest en important des données...
    dans ma page html j'ai au départ ue ligne de tableau contenant deux images..
    je fais un cloneNode true de la ligne un appendChild dans le tbody et j'attribue les src aux deux images, je leur attribue également des onclicks...
    Jusque là tout baigne ...

    là ou ça se complique c'est lorsque je veux leur attribuer une infobulle sur le onmouseover...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MenuCells.Photo.InfoTitre=TabTextBase[i].split(String.fromCharCode(9))[Desc];
    //attribution du texte à afficger danbs l'infobulle
    // .../...							 	 					MenuCells.Photo.setAttribute('onmouseover',function()   { ShowBulle(this)}	)
    j'ai un div dans la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="infobulle" style="position:absolute;height:80px;width:auto;padding:10px;background-color:lightblue;display:none;z-index:3;"></div>
    et la fonction de gestion de l'infobulle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ShowBulle(ObjImage){
    			var InfoBulle=document.getElementById('infobulle');
    			InfoBulle.innerHTML=ObjImage.InfoTitre;
    			InfoBulle.style.top=ObjImage.offsetTop+"px";
    			InfoBulle.style.display="block";
    			InfoBulle.onmouseout=function(){InfoBulle.style.display='none';}
    			InfoBulle.setAttribute('onmouseout',function(){InfoBulle.style.display='none';})
    			}
    le souci est qu'invariablement le offsetTop me retourne 21px ???
    pourtant le texte est bien modifié, j'ai même fait des tests pour voir si le src était modifié, et il l'est !!!

    cela ne veindrait-il pas du cloneNode true ???
    c'est quoi la syntaxe de computedStyle ?
    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 !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Par défaut Re: infobulle recalcitrante
    A tout hasard, essaie de changer ça:
    Citation Envoyé par SpaceFrog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InfoBulle.style.display="block";
    en:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InfoBulle.style.display="";

  3. #3
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    non le block n'influe pas sur la position ...
    j'ai essayé d'attaque le offsetTop en amont dans le code ...
    après le appendChild ...
    mais pareil il me retourne toujours 21 qui est le offsetTop de l'élément cloné ...
    C'est pour ça que je tenterais bien de passer par computedstyle, mais je sais pas comment faire ...
    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 !

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut Re: infobulle recalcitrante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MenuCells.Photo.setAttribute('onmouseover',"ShowBulle(this)"	)
    Dans un premier temps, j'essayerais ça. this est un mot clé un peu capricieux en JS, et ça ne m'etonnerait pas que ton problème vienne de là. Eventuellement, regarde si this refere au bon objet en leur attribuant des ids et en vérifiant this.id.

    Sinon, offset, il faut normalement l'utiliser en prenant en compte offsetParent.... (cf ) mais essaye déjà ci-dessus....

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Non DenisC le problème ne vient pas du passage de paramètre ...
    sinon le innerHTML ne serait pas modifié ..; et là il est modifié !!
    le src ne serait pas le bon et la si j'en fais un alert dans le focntion c'est le bon ...
    le offsetTop me retourne la position par rapport au parent ???
    je voudrais récupérer la position par rapport au haut de la page pour fixe les top et left de l'infobulle ...
    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
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par SpaceFrog
    le offsetTop me retourne la position par rapport au parent ???
    je voudrais récupérer la position par rapport au haut de la page pour fixe les top et left de l'infobulle ...
    offsetTop te retourne la position par rapport au parent, mais au sens de l'offset. 95% du temps, le offsetParent, c'est le document. Mais tu es peut-être dans les 5% restant...

    C'est dans la

  7. #7
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    boudioux !!!
    c'est bien la première fois que le offset prend réellement le sens d'offset ...

    je m'en suis sorti avec les focntions de Néo !
    Merci DenisC

    et désolé de n'avoir pas trouvé ça dans la FAQ mais le coup du offset par rapport au parent m'a vraiment désarçonné ...
    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 !

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

Discussions similaires

  1. infobulle
    Par scoder dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/11/2007, 09h47
  2. Réponses: 5
    Dernier message: 23/08/2005, 12h08
  3. Requete recalcitrante
    Par anarK dans le forum Langage SQL
    Réponses: 8
    Dernier message: 15/03/2005, 10h49
  4. Infobulle sous Netscape
    Par nicolb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2005, 01h03
  5. Débutant : prg une infobulle
    Par Chris74 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/12/2004, 14h09

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