Gå til innhold

Sette Position til en javascript-dannet DIV


Anbefalte innlegg

hei.

 

jeg driver aa lager en web application som inneholder et kart. Paa dette kartet skal jeg da kunne "male" flere ikoner fra en liste med koordinater(relativt til kartet/bildet/tabellcellen).

 

Faar aa danne et ikon lager jeg en DIV-tag.

HVORDAN skal jeg kunne sette position til DIV til relative? Relativt til en celle i en tabell f.eks. Selv har jeg en tabell med en celle.

 

legger med hele koden hvis noen gidder aa lese den

 

HVIS NOEN HAR ET GODT ALTERNATIV TIL EN ANNEN MAATE AA LAGE DETTE PAA, ROP UT!

 

Paa forhaand takk!

 

 

 

 

<html>

<head>

<title>Testing with map in a table</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript">

 

coordTable = new Array()

coordTable[0]= 0

coordTable[1]= 200

coordTable[2]= 350

coordTable[3]= 400

coordTable[4]= 450

coordTable[5]= 500

 

var iconDiv1;

var nn4 = (document.layers);

function ShowCoords(event) {

if(document.all) {

 

document.getElementById('coords').value="(x,y): "+event.offsetX+":"+event.offsetY;

}

else {

document.getElementById('coords').value="(x,y)inne i elsen: "+event.layerX+":"+event.layerY;

}

}

//-->

 

function onMouseClick(event) {

var coordx = event.offsetX;

var coordy = event.offsetY;

document.getElementById('test').value = coordx + "," + coordy;

document.getElementById('onClickcoords_x').value="X :"+event.offsetX;

document.getElementById('onClickcoords_y').value="Y : "+event.offsetY;

//drawIcons(coordx,coordy);

 

setNewPos(coordx,coordy);

setIconsFromList();

 

}

 

 

 

function setIconsFromList(){

 

for (var i=0; i<6; i++){

var pos = coordTable;

document.getElementById('TestField').value= pos;

document.body.appendChild(createDivWithImage(pos,pos));

}

 

 

function createDivWithImage(x,y){

sImageURL="smallbeermug.jpg"

//y = y1 - (389/2);

 

var eDiv=document.createElement("DIV");

//eDiv.id="map";

eDiv.style.position="relative";

eDiv.style.left=x;

 

var y1 = y - (389/2)

eDiv.style.top=y1;

 

var eImg=document.createElement("IMG");

eImg.src=sImageURL;

eDiv.appendChild(eImg);

 

return eDiv;

}

}

 

function setNewPos(x1,y)

{

var y1 = y - (389/2)

 

if (x1 > 600) x1 = 580;

iconDiv1.left = x1;

 

if (y1 > 600) y1 = 580;

iconDiv1.top = y1;

 

return false;

}

 

function InitObjPointers()

{

iconDiv1 = (nn4) ? document.layers["icon1"] : document.all

["icon1"].style;

 

}

</script>

 

 

</head>

 

<body onLoad="InitObjPointers()" id="mapBody">

 

<span id="fang"></span>

 

<table width="696" border="0" id="map" onMouseMove="ShowCoords(event);" onClick="onMouseClick(event);" alt="map" background="mapTest.jpg">

<tr>

<td height="389">

<div id="icon1" style="position: relative; width:19px; height:19px; z-

index: auto; left: 300px; top: 94px"><img src="smallbeermug.jpg"></div>

 

</td>

</tr>

</table>

<input type="text" id="onClickcoords_x" readonly name="onclicklayer_x"/>

<input type="text" id="onClickcoords_y" readonly name="onclicklayer_y"/>

<input type="text" id="coords" />

<input type="text" id="test" readonly name="test"/>

<p>

<input type="text" id="TestField" readonly name="test2"/>

<input type="text" id="onClickcoords_x2" readonly name="onclicklayer_x2"/>

<input type="text" id="onClickcoords_y2" readonly name="onclicklayer_y2"/>

</body>

</html>

 

 

/claus

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...