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 :

Position souris sur clic image


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Points : 121
    Points
    121
    Par défaut Position souris sur clic image
    Bonjour,
    Je cherche à faire la chose suivante :
    J'ai une image et un div de 8px par 8px
    J'aimerai positionner le div sur l'endroit exact où je clic sur l'image.
    Cela marche super bien lorsque mon image est en haut de ma page mais dès que je la mets en bas de page et que je doit scroller, tout est décalé.
    Comment faire merci.

    Voici mon code javascript :
    <SCRIPT language=javascript>
    function mouseMove (evt) {
    var x=0; var y=0;
    if (document.layers) {
    x=evt.x; y=evt.y;
    }
    if (document.all) {
    x=event.clientX; y=event.clientY;
    } else {
    if (document.getElementById) {
    x=evt.clientX; y=evt.clientY;
    }
    }
    document.getElementById("y").value = y;
    document.getElementById("x").value = x;
    }
    if (document.layers)
    document.captureEvents(Event.MOUSEMOVE);
    if (document.layers || document.all)
    document.onmousemove = mouseMove;
    if (document.addEventListener)
    document.addEventListener('mousemove', mouseMove, true);
    </SCRIPT>
    <script language="javascript">

    function coord()
    {

    var offsetLeft = document.getElementById("conteneur").offsetLeft ;
    var offsetTop = document.getElementById("conteneur").offsetTop ;
    document.getElementById("posX").value=document.getElementById("x").value - offsetLeft ;
    document.getElementById("posY").value=document.getElementById("y").value - offsetTop ;
    document.getElementById("point").className="point_visible";
    document.getElementById("point").style.left=document.getElementById("x").value - offsetLeft ;
    document.getElementById("point").style.top=document.getElementById("y").value - offsetTop ;
    }


    </script>
    Et mon code html :
    <div style="position:relative;left:0px;top:0px;" id="conteneur">
    <div id="point" class="point_invisible"><table width="8" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td style="height:8px;background-color:#FF0000;"></td>
    </tr>
    </table>
    </div>
    <div style="width:396px;height:380px;z-index:1;position:relative;" id="div_carte"><img src="../images/carte/france.jpg" id="carte" onclick="javascript:coord();"/></div>
    </div>

    Pos X : <input name="posX" type="text" size="4" /><input type="text" name="x" id="x" Value=""> <input type="text" name="y" id="y" Value="">

    Pos Y :
    <input name="posY" type="text" size="4" /> </div>
    </div>
    Merci d'avance

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    document.getElementById("posX").value=(parseInt(document.getElementById("x").value, 10) - offsetLeft) + "px" ;
    document.getElementById("posY").value=(parseInt(document.getElementById("y").value, 10) - offsetTop) + "px" ;
    document.getElementById("point").className="point_visible";
    document.getElementById("point").style.left=(parseInt(document.getElementById("x").value, 10) - offsetLeft) + "px" ;
    document.getElementById("point").style.top=(parseInt(document.getElementById("y").value, 10) - offsetTop) + "px" ;
    ?



    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Points : 121
    Points
    121
    Par défaut
    non à priori cela ne vient pas de là, ça marche qd mon image est tout en haut de ma page, mais dès que je la met ailleur et que j'utilise les scrollbars, ça par en vrille

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par wehtam
    non à priori cela ne vient pas de là, ça marche qd mon image est tout en haut de ma page, mais dès que je la met ailleur et que j'utilise les scrollbars, ça par en vrille


    Tu as testé ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Points : 121
    Points
    121
    Par défaut
    oui j'ai tester et cela fait la même chose avec mon code et le tien

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Manquait un bout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("point").style.left=(parseInt(document.getElementById("x").value, 10) - offsetLeft + document.body.scrollLeft) + "px" ;
    document.getElementById("point").style.top=(parseInt(document.getElementById("y").value, 10) - offsetTop + document.body.scrollTop) + "px" ;
    Mais bon, puisque ça vient pas de là ...

    A+

Discussions similaires

  1. Position souris sur une image
    Par microbulles dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/07/2007, 08h40
  2. Réponses: 5
    Dernier message: 09/09/2006, 23h49
  3. Réponses: 4
    Dernier message: 08/09/2006, 04h36
  4. [DHTML]position de la souris sur une image
    Par Daï2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/05/2006, 15h57
  5. coordonnées d'un clic souris sur une image
    Par marcuswgs84 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2005, 19h08

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