Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969

    Coordinate x,y di un punto su un'immagine

    Esiste una funzione js che da le coordinate x,y in pixel del puntatore del mouse quando è sopra ad qualsiasi punto di un'immagine?

  2. #2
    Certo:
    codice:
    window.onload = function() {
      var b = document.body,
           page = typeof(e.pageX) != undefined;
     document.onmousemove = function(e) {
      var e = e || window.event,
           x = page ? e.pageX : e.clientX + b.scrollLeft,
           y = page ? e.pageY : e.clientY + b.scrollTop;
     }
    }
    Se vuoi che le coordinate siano relative all'immagine e non alla pagina devi sottrarre offsetLeft e Top
    codice:
    window.onload = function() {
      var b = document.body,
           page = typeof(e.pageX) != undefined,
           img = document.getElementById("idImg"),
           top = img.offsetTop,
           left = img.offsetLeft;
     document.onmousemove = function(e) {
      var e = e || window.event,
           x = ( page ? e.pageX : e.clientX + b.scrollLeft ) - left,
           y = ( page ? e.pageY : e.clientY + b.scrollTop ) - top;
     }
    }

  3. #3
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Intanto ti ringrazio molto per la risposta.
    Devo chiederti umilmente un ulteriore aiuto vista la mia ignoranza in js.
    La versione che mi interessa è quella delle coordinate relative della singola immagine (il punto in alto a sinistra dell'immagine deve essere 0,0).
    Vorrei che le coordinate apparissero da qualche parte (ad esempio nella barra di stato).
    Inoltre cliccando su un punto dell'immagine le coordinate devono essere inviate via get ad un'altra pagina (ad esempio pagina.php?coordinate=10,15).
    Puoi aiutarmi? Ricordati che sono ignorante in js e che quindi dovrai spiegarmi ogni passaggio (dove mettere il codice etc ...).
    Ciao e grazie ancora

  4. #4
    C***o, nell'esempio di prima avevo fatto un errore piuttosto idiota Così funziona:
    codice:
    window.onload = function() {
      var b = document.body,
           img = document.getElementById("imgId"),
           top = img.offsetTop,
           left = img.offsetLeft;
     document.onmousemove = function(e) {
      var e = e || window.event,
           fn = arguments.callee;
           fn.x = ( typeof(e.pageX) != undefined ? e.pageX : e.clientX + b.scrollLeft ) - left,
           fn.y = ( typeof(e.pageY) != undefined ? e.pageY : e.clientY + b.scrollTop ) - top;
          document.title = fn.x + "-" + fn.y;
     }
     img.onclick = function() {
       location.href="pagina.php?x=" + document.onmousemove.x + "&y=" + document.onmousemove.y;
     }
    }
    Le coordinate sono nel titolo della pagina ( nella barra di stato non si può fare per motivi legati alla sicurezza ).

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Direi che funziona, ti ringrazio infinitamente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.