Esiste una funzione js che da le coordinate x,y in pixel del puntatore del mouse quando è sopra ad qualsiasi punto di 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?
Certo:
Se vuoi che le coordinate siano relative all'immagine e non alla pagina devi sottrarre offsetLeft e Topcodice: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; } }
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; } }
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
C***o, nell'esempio di prima avevo fatto un errore piuttosto idiotaCosì funziona:
Le coordinate sono nel titolo della pagina ( nella barra di stato non si può fare per motivi legati alla sicurezza ).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; } }
Direi che funziona, ti ringrazio infinitamente.