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 :

Vraie position d'un objet ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut Vraie position d'un objet ?
    Bonjour a tous , je tente d'utiliser une méthode pour récupérer la position d'un objet, pour en positionner un second , mais je m'aperçois que les positions ne sont pas identique sous ie/FF ET chrome :-(

    ci joint le zip de démo ...

    alors est ce que le problème vient de la méthode de recherche de position ou autre ???
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Et bah j'ai pas tout compris car malgré avoir téléchargé ton zip, ton soucis est pas vraiment expliqué..
    Pour savoir où est un élément, je fais document.getElementById('mon_id').offsetLeft et document.getElementById('mon_id').offsetTop malgré que mon élément ne soit pas du tout en absolute..
    J'espère que ça t'aidera !

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    pardon

    effectivement ...
    en fait mes infobulle ne sont pas correctement positionnées selon chaque navigateur ... impossible de trouver pourquoi ...

    il suffit de lancer la page de démo sur différent navigateur pour voir le comportement ;-)

  4. #4
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    ça viendrait pas du boxtype ?
    si un calcul de position est fait par rapport à des height ou width ...
    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 !

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    je crois qu'il s'agit non pas d'un problème de positionnement , mais de taille de la tooltip :

    j'utilise du padding et je crois me souvenir que celui ci n'est pas interprèté dans la taille de l'élément , je vais faire un test et je reviens donner les résultats ;-)

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut,

    Pour mes infobulles, j'utilise ce type de code et je n'ai jamais eu de souci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function getPosition(elt){
        var posX = elt.offsetLeft;
        var posY = elt.offsetTop + elt.offsetHeight;
        while (elt.offsetParent) {
            elt = elt.offsetParent;
            posX += elt.offsetLeft;
            posY += elt.offsetTop;
        }
        return {haut: posY, gauche: posX}
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    oui j'utilise le même Bovino ;-)

    mais la j'ai l'impression que le problème se situe ailleurs ...


    mon code pour calculer la position de l'input :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var getPosition = function(objectDom) {
    	var tmpLeft = objectDom.offsetLeft;
    	var tmpTop = objectDom.offsetTop;
    	var MyParent = objectDom.offsetParent;
    	while(MyParent) {
    		tmpLeft += MyParent.offsetLeft;
    		tmpTop += MyParent.offsetTop;
    		MyParent = MyParent.offsetParent;
    	}
    	return [tmpLeft,tmpTop]
     
      };
    ensuite je calcul la position de la box ...
    elle s'affiche parfaitement selon les calculs donné sous firefox, mais pas sous ie , ni chrome ...


    après test il ne sagit pas de problème de padding :

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>Untitled Document</title>
    	</head>
    	<body>
    		<div id="test" style="border:5px solid green;padding:10px;background-color:red;width:200px;">
    			<div style="background-color:#ffffff;">
    				voici le contenu dans une div simple avec du contenu et fond blanc<br />
    				ma div parente : <br /> 
    				- bordure de 5px <br />
    				- padding de 10px <br />
    				- width de 200px fixée <br />
    			</div>
    		</div>
     
    		vérification en javascript :
    		<div id="result" style="border:1px solid #666"></div>
    		<script type="text/javascript">
    		var monElement = document.getElementById('test');
    		var monResultat = document.getElementById('result');
    		monResultat.innerHTML += "Taille sur monElement.style.width : "+monElement.style.width+"<br />";
    		monResultat.innerHTML += "Taille sur monElement.offsetWidth : "+monElement.offsetWidth+"<br />";
    		</script>
    	</body>
    </html>
    résultat identique sous ie/ff/chrome/safari

Discussions similaires

  1. [Debutant]Memorisation de la position d'un objet
    Par Treuze dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/03/2008, 21h18
  2. Position "automatique" des objets
    Par pwfsic dans le forum MATLAB
    Réponses: 4
    Dernier message: 13/06/2007, 12h59
  3. changer la position d'un objet dans la scene
    Par Lsong dans le forum DirectX
    Réponses: 3
    Dernier message: 21/03/2007, 18h41
  4. [java3D] detecter la position d'un objet.
    Par apesle dans le forum 3D
    Réponses: 3
    Dernier message: 14/04/2006, 17h30
  5. [C#]Bouger la position d'un objet
    Par fantomchris dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/03/2006, 11h50

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