Avatar billede expnet Seniormester
19. august 2004 - 06:20 Der er 13 kommentarer og
1 løsning

har et div find det "left+top"

Hej exp'er

jeg vil hører hvordan man finde left.pos og top.pos inde for et div er er 500x500 og det skal visse i et left.input og top.input
Avatar billede roenving Novice
19. august 2004 - 12:17 #1
Sådan ?-)

<script type="text/javascript">
function getPos(elm) {//jumper;
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}
function showPos(){
  var div = document.getElementById('minDiv');
  var pos = getPos(div);
  document.getElementById('leftPos').innerHTML = pos.x;
  document.getElementById('topPos').innerHTML = pos.y;
}
</script>

<body onload="showPos();">
Diven er positioneret <span id="leftPos" style="color:red;"></span>&nbsp;pixel fra venstre kant<br>
og <span id="topPos" style="color:red;"></span>&nbsp;pixel fra toppen ...
<div style="float:left;height:253px;background:#edf;">Denne divs position er ikke vist</div>
<div id="minDiv" style="width:500px;height:500px;background:#def;">Diven, hvis position, du kan se øverst</div>

</body>
Avatar billede roenving Novice
19. august 2004 - 12:18 #2
Her har jeg brugt spans, fordi de ikke kan redigeres, hvis du vil have det til at sende i en form er det jo bare at lave kaldene om fra getElementById til FORMNAVN.FELTNAVN !-)
Avatar billede expnet Seniormester
19. august 2004 - 21:26 #3
roenving -> tro jeg har skrevet det lidt forkert jeg har et <div id="icon">50x50</div> og et andre <div id="plads">500x500</div>

det jeg så vil er at jeg kan ved click på div(plads) så flytter div(icon) men den må ikke kunne komme udefor

håber du forstår
Avatar billede expnet Seniormester
20. august 2004 - 01:41 #4
kan du hjælpe mig
Avatar billede roenving Novice
20. august 2004 - 02:25 #5
Vil du have icon-diven til at flytte sig derhen, hvor du klikker ?-)
Avatar billede expnet Seniormester
20. august 2004 - 02:42 #6
:0) ja men den må ikke kunne komme ude for
Avatar billede grunken Nybegynder
20. august 2004 - 13:03 #7
Det burde da ikke være top & left, der gik hen og blev det store problem :o)

Her er et hurtig eksempel --->

<html>
<head>
  <style type="text/css">
  #plads{
  height:500px;
  width:500px;
  border:1px solid #000;
  }

  #ikon{
  height:50px;
  width:50px;
  border:1px solid #000;
  background-color:#abc;
  position:absolute;
  }
  </style>

  <script type="text/javascript">
  var pos;
  function getPos(elm) {//jumper;
  for(var zh=elm.offsetHeight,zw=elm.offsetWidth,zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
  return {h:zh,w:zw,x:zx,y:zy}}


  function posiko(ev){
  e = document.getElementById("ikon");
  posi = getPos(e);

  x =ev.clientX+document.body.scrollLeft;
  y = ev.clientY+document.body.scrollTop;

  e.style.left = ((x+posi.w)>(pos.x+pos.w))?((pos.w+pos.x)-posi.w-1)+"px":x+"px";
  e.style.top = ((y+posi.h)>(pos.y+pos.h))?((pos.h+pos.y)-posi.h-1)+"px":y+"px";
  }

  window.onload=function(){
  pos = getPos(document.getElementById("plads"));
  }
  </script>
</head>
<body>
  <div id="plads" onclick="posiko(event);">
  <div id="ikon"></div>
  </div>
</body>
</html>
Avatar billede expnet Seniormester
22. august 2004 - 09:51 #8
grunken -> hvordan kan jeg gøre så jeg få denne id lave om da den kommer fra en anden side

jeg har prøve følgende men ude held..

  function posiko(ikonID,ev){
  e = document.getElementById(ikonID);
  posi = getPos(e);
Avatar billede grunken Nybegynder
23. august 2004 - 16:07 #9
Den er du vist nødt til at uddybe en lille smule, for jeg er vist ikke helt med mere :o)
Avatar billede expnet Seniormester
23. august 2004 - 16:25 #10
jeg har to iframe en der visser data'ene og en der henter data'ene kald den bare:
iframe1 = vis
iframe2 = hent

kode i iframe2->
ikonID = 'test1';
if (parent.frames['vis'].posiko) {
    parent.frames['vis'].posiko(ikonID);
}


kode i iframe1 ->

function posiko(ikonID,ev){
  e = document.getElementById(ikonID);
  posi = getPos(e);

det skal lige sige at den id "ikonID" kommer flere af dyrmatisk id
Avatar billede grunken Nybegynder
25. august 2004 - 14:46 #11
Jeg kan simpelthen ikke forstå at dit spørgsmål flytter sig fra A -> B -> C

Kan du ikke prøve at vise mig et link til et eksempel : for jeg er overhovedet IKKE med mere ...

Men måske Jes er bedre til at forstå :o)
Avatar billede expnet Seniormester
25. august 2004 - 15:10 #12
har du mulighed for at komme på MSN og så vi poste løsing her at det er lige svært at skrive for mig :P
Avatar billede expnet Seniormester
14. september 2004 - 02:07 #13
grunken -> har løst det vil du ikke lige svare
Avatar billede expnet Seniormester
11. januar 2005 - 15:49 #14
- lukker har ville give point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester