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 :

Afficher les coordonn�es d'un layer dans des champs texte


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv� Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, C�tes d'Armor (Bretagne)

    Informations professionnelles :
    Activit� : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par d�faut Afficher les coordonn�es d'un layer dans des champs texte
    Bonjour � tous,

    Je rame lamentablement, malgr� des tas de recherche. Je voudrais afficher les coords X et Y d'un layer draggable sur une image dans des champs texte nomm�s X et Y. Voici comment j'ai fait, mais les coordonn�es sont fausses...

    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
     
     
    function twPositionRelative(evt) {
    var nOffsetX;
    var nOffsetY;
    evt = (evt) ? evt : ((window.event) ? window.event : "");
    if (evt) {
    if (document.all) {
    nOffsetX = evt.offsetX;
    nOffsetY = evt.offsetY;
    } else if (document.getElementById) {
    nOffsetX = evt.pageX - document.getElementById("monID").offsetLeft;
    nOffsetY = evt.pageY - document.getElementById("monID").offsetTop;
    }
    //monID est le calque draggable dont je veux les coordonnées
     
      document.all.X1.innerText = nOffsetX; //input X
      document.all.Y1.innerText = nOffsetY; //input Y
     
    }
    }
     
    function twInit() {
    var oImage = document.getElementById("image")//le calque de l'image
    if (oImage) {
    oImage.onmousemove = twPositionRelative;
    }
    }
    la fonction twInit() se charge avec body
    les 2 inputs text X et Y sont ok: les coords s'affichent bien, mais erron�es

    les layers :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <img src="image.gif" width="468" height="60" id="image">
    <div id="monID" class="zone">TEXTE</div>
    <script type="text/javascript" language="javascript">
    document.getElementById("monID").style.cursor = 'move';
    new Draggable('monID',{}); 
    </script>
    Vous voyez ce qui cloche ?
    Je veux bien un coup de main...merci !

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    pk ne pas utiliser this.offsetTop/offsetLeft ?

  3. #3
    Membre �prouv� Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, C�tes d'Armor (Bretagne)

    Informations professionnelles :
    Activit� : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par d�faut
    Ben en faisant �a, c'est ce que je pensais faire...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
     
    nOffsetX = evt.pageX - document.getElementById("monID").offsetLeft;
    nOffsetY = evt.pageY - document.getElementById("monID").offsetTop;
    Non ?

  4. #4
    Membre �prouv�

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par d�faut
    Elles sont �ronn�es comment tes valeurs ?

    Si tu les calcules apr�s le d�placement, les offest sont les valeurs � afficher et non pas mouseX - offsetLeft et mouseY - offsetTop (qui te dooneront alors forcement des valeurs constantes).

    PS : Les offset peuvent avoir a �tre calculer en fonction des conteneurs anc�tres.

  5. #5
    Membre �prouv� Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, C�tes d'Armor (Bretagne)

    Informations professionnelles :
    Activit� : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par d�faut
    pas facile � dire comment les valeurs sont erron�es...
    Et oui, je veux que le user puisse d�placer le layer sur l'image, puis lorsque il l�che le bouton de la souris, cela "fige" X et Y dans les inputs...

  6. #6
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    pageX n'est pas reconnu par tous les navigateurs.... si ?

Discussions similaires

  1. R�ponses: 3
    Dernier message: 24/04/2014, 17h46
  2. r�cup�rer les dates de mysql et les mettre dans des champs textes
    Par abdelkarim_1987 dans le forum PHP & Base de donn�es
    R�ponses: 6
    Dernier message: 18/10/2013, 14h56
  3. R�ponses: 1
    Dernier message: 09/03/2009, 12h01
  4. R�ponses: 2
    Dernier message: 13/10/2008, 14h39
  5. R�ponses: 3
    Dernier message: 12/05/2006, 13h51

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