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 :

[DOM] Dom -> Bug?!


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut [DOM] Dom -> Bug?!
    Bonjour, j'ai fait un petit code qui permet d'afficher une infobull, seulement je notte divers bug :
    alert(document.getElementById("dek").style.left) n'afiche rien
    Certains partie du code font lanter le reste.

    Voici le code en question :
    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
     
      var Xoffset=10;    
      var Yoffset= 3;    
     
      var skn = document.getElementById("dek").style;
      skn.visibility ="hidden";
      skn.display    ="none";
     
     
    document.onmousemove=get_mouse;
    alert("000k000");
    function popup(msg,bak){
      var content="<table  width=200 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0 " + "bgcolor=" + bak + "><td><font color=#000000 valign=top  font-size: 9pt; align=left>" + msg + "</font></td></table>";
      document.getElementById("dek").innerHTML=content;
      skn.visibility = "visible";
      skn.display    = "true";
      alert("popup : "+document.getElementById("dek").left);
    }
     
    function get_mouse(e){alert("ok");
    	// Creation des variables de decallage
    	if (document.all)
    	{
      		var x=event.x+document.body.scrollLeft;
      		var y=event.y+document.body.scrollTop;
      	}
      	else
      	{
    		var x = e.pageX;
    		var y = e.pageY;
    	  }
    	// Cas particulier pour Internet Explorer sur Mac (les coordonnees de decallages sont modifiees)
    		if ( (navigator.userAgent.indexOf('Mac') != -1) && (navigator.userAgent.indexOf('MSIE') != -1) ) {
    			skn.left = x + Xoffset - 135;
    			skn.top  = y + Yoffset - 155;
    			}
    	// Pour les autres cas, decallage normal du calque par rapport au pointeur
    		else {
    			skn.left = x + Xoffset;
    			skn.top  = y + Yoffset;
    			}
    	}
    }
     
    function kill(){
    if(document.dek)
    {skn.visibility="hidden";}
    else
    {
      document.getElementById("dek").innerHTML='';
      skn.display    = "none";
      skn.visibility = "hidden";
    }
    Le plus enbètent est le problème du skn.left et skn.top qui contiènent "rien".
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  2. #2
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Persone n'a la moindre idée? Ou esque l'éreur est tèlement évidente que vous prenez plaisir a me laisser dans l'ignorance?
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    peut-être manque-t-il un <tr> pour insérer la cellule de tableau...

  4. #4
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Enfait le problème ne vien pas du contenu.
    Les problèmes sont :
    Une partie du code javascript fait plenter tout le fichier.
    La variable skn, qui est le getelementbyid("skn")[Skn est un <div>], a bien une propriétée top et left, mais quand je tente de les afficher -> Néan!
    Le code de suivie de sourie fonctione(tester a part).

    Sa m'enbète surtout que en soit ce code n'est pas bien compliquer...
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    vérifie que les propriétés sont définies inline et non dans une feuille de style distincte;

  6. #6
    Expert éminent

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par javatwister
    vérifie que les propriétés sont définies inline et non dans une feuille de style distincte;
    +1.

    Pour les propriétés de style en JS, tu n'accede qu'aux propriétés que JS a défini (pas celle de la feuille de style, ni celle du HTML).

    Sinon, pour acceder au style effectif, cf: http://www.developpez.net/forums/vie...341172#2341172

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Citation Envoyé par DenisC
    ni celle du HTML
    en fait, si, les propriétés définies dans la balise sont accessibles; c'est d'ailleurs toujours gênant de devoir déroger à une feuille de style globale pour un simple "left";

  8. #8
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    En effet sa venais de sa. Je vien de tester pour voir si sa marche et je rencontre un problème très très très étrenge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //Variable d'objet :
    var skn = document.getElementById("dek");
    //Variable de style :
    var skn_style = skn.currentStyle || window.getComputedStyle(skn, null);
    //Initialisation du style
    skn_style.visibility = "hidden";
    alert('ok');
    'ok' ne s'affiche pas.
    Mais si je replace les deux dernières lignes par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(skn_style.visibility);
    La "hidden" qui s'afiche... (Le calque est déja cacher)
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  9. #9
    Expert éminent

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par JC_Master
    var skn_style = skn.currentStyle || window.getComputedStyle(skn, null);
    Ces propriétés représentent le style réel de l'objet. Elles ne sont accessibles qu'en lecture!!!! Tu ne peux pas changer le style que la navigateur a décidé de donner à ton objet. Il faut que tu changes le style (habituel, par l'attribut style) pour que le navigateur prenne ça en compte et en déduise un nouveau computedStyle.

  10. #10
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Bon il semblerais que le programme ne marche que a moitier : Je dit :
    Monobjet.style.top = 32; Sa marche.
    Je dit Monobjet.style.top = (x + Xoffset); et la sa marche plus...
    Pour vraiment vous en rende compte, voici le code complet :
    http://t4cwebserver.free.fr/infobulle.js -> Source du js
    http://t4cwebserver.free.fr -> Utilisation du js

    Au début le calque est a une certaine position : On le fait apparaitre(popup() puis on le fait disparaitre(kill() et sa position est ensuite 0/0 comme on peut le constater a sa réaparition. Pourtant sa position n'est pas changer l'or du mouvement de la souri(si je fait un alert ur x+Xoffset j'obtien quelque chose de normale).

    La vraiment je ne voi pas pourquoi!!!
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  11. #11
    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 640
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    +px ?
    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 !

  12. #12
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Citation Envoyé par SpaceFrog
    +px ?
    Pardon, je ne comrpend pas? Je doit rajouter la chaine de caractère "px" quand je veut chager els coordonées?
    *Vas tester...*

    Edit : En effet sa fonctione enfin!!! Merci
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ffx ne prend pas en compte les dimensions si tu ne met pas "px" a la fin
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

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

Discussions similaires

  1. [DOM] DOM bug sous IE
    Par mica16 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/04/2007, 15h01
  2. [DOM] DOM afficher un input avec du texte dedans
    Par NeHuS dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2006, 22h41
  3. [DOM] DOM xml firefox et ie
    Par topolino dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 11/01/2006, 22h12
  4. [DOM] dom et ie
    Par jeff_! dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/12/2005, 10h03
  5. [DOM] DOM et couleur de texte
    Par watcha2020 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/08/2005, 10h20

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