Rocket Medlem sedan feb. 2000 372 inlägg Frågan 28 nov. 2001 00:28 #1 Kan man med hjälp av javascript få ut koordinaterna för en pixel i en bild. T.ex att man klickar med musen på en bild och så kommer x och y koordinaten i en textbox eller kanske så att det hela tiden visas koordinaterna när man drar över bilden. Bäst skulle det ju vara om det gick att få så att koordinaterna kommer fram när man klickar.
J Jojoxx Medlem sedan juni 2000 4 308 inlägg Om du slänger bilden i ett lager så du vet var du har den är det inga problem.
<div id="foo" style="position:absolute;left:100px;top:100px;"><a href="#" onClick="alert((Xmouse-100)+','+(Ymouse-100));return false;"><img src="bild.gif" id="bild" border="0"></a></div>
<script language="JavaScript">
if (document.layers) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = MoveHandler;
function MoveHandler(evnt) {
if(document.layers){
Xmouse = evnt.pageX; Ymouse = evnt.pageY;
} else if(document.all) {
Xmouse = window.event.x; Ymouse = window.event.y;
}
}
</script>
------------------
/ J
Rocket Medlem sedan feb. 2000 372 inlägg Ett problem.
Om bilden är så stor att den inte får plats i fönstret så att man måste börja scrolla så blir det ju fel. Då kan ju två olika koordinater få samma värde.
Jag vet att jag snackade om mindre bilder förut men om man nu har en stor bild som inte ryms i fönstret. Går det att fixa?
J Jojoxx Medlem sedan juni 2000 4 308 inlägg Visst.
<div id="foo" style="position:absolute;left:100px;top:100px;"><a href="#" onClick="visakoordinat(); return false;"><img src="bild.gif" id="bild" border="0"></a></div>
<script language="JavaScript">
layerOffsetX=100;
layerOffsetY=100;
if (document.layers) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = MoveHandler;
function MoveHandler(evnt) {
if(document.layers){
Xmouse = evnt.pageX; Ymouse = evnt.pageY;
} else if(document.all) {
Xmouse = window.event.x; Ymouse = window.event.y;
}
}
function visakoordinat(){
var scrollX=(document.layers)?pageXOffset:document.body.scrollLeft;
var scrollY=(document.layers)?pageYOffset:document.body.scrollTop;
alert((Xmouse-layerOffsetX+scrollX)+','+(Ymouse-layerOffsetX+scrollY));
}
</script>
------------------
/ J
Rocket Medlem sedan feb. 2000 372 inlägg och om man vill att koordinaterna ska komma i två textboxs när man klickar?
J Jojoxx Medlem sedan juni 2000 4 308 inlägg <form name="myform"><input type="text" name="x"><input type="text" name="y"></form>
<div id="foo" style="position:absolute;left:100px;top:100px;"><a href="#" onClick="visakoordinat(); return false;"><img src="bild.gif" id="bild" border="0"></a></div>
<script language="JavaScript">
layerOffsetX=100;
layerOffsetY=100;
if (document.layers) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = MoveHandler;
function MoveHandler(evnt) {
if(document.layers){
Xmouse = evnt.pageX; Ymouse = evnt.pageY;
} else if(document.all) {
Xmouse = window.event.x; Ymouse = window.event.y;
}
}
function visakoordinat(){
var scrollX=(document.layers)?pageXOffset:document.body.scrollLeft;
var scrollY=(document.layers)?pageYOffset:document.body.scrollTop;
document.myform.x.value=(Xmouse-layerOffsetX+scrollX);
document.myform.y.value=(Ymouse-layerOffsetX+scrollY);
}
</script>
------------------
/ J