Avatar billede andreas Nybegynder
01. april 2001 - 01:34 Der er 12 kommentarer og
1 løsning

finde x,y koordinater

Hej.

Jeg har lavet et billed på 1x1 pixel som hedder \"spacer\" og sat det ind på en side. Nu vil jeg gerne have at javascript der kan sætte

scrollTop = y koordinaten
scrollLeft = x koordinaten

hvis i forstår, et script der finder x,y værdierne til billedet spacer.

er det sådan helt forstået ???
Avatar billede jakoba Nybegynder
01. april 2001 - 02:22 #1
<script language=\'javascript\'>

function getIExko ( obj ) {
  if ( obj == document.body ) return obj.offsetLeft
  else return obj.offsetLeft +getIExko( obj.offsetParent );
}; //end getIExKo ( object ) -> int

function getIEyko ( obj ) {
  if ( obj == document.body ) return obj.offsetTop
  else return obj.offsetTop +getIEyko( obj.offsetParent );
}; //end getIEyko ( object ) -> int

function visCoords( nvn ) {
  if (document.layers) {
    alert( \"X-koordinaten er: \" +document.images[nvn].x +\"\\r\"
          +\"Y-koordinaten er: \" +document.images[nvn].y );
  } else {
    alert( \"X-koordinaten er: \" +getIExko ( document.images[nvn] ) +\"\\r\"
          +\"Y-koordinaten er: \" +getIEyko ( document.images[nvn] ) );
  }
}; //end viscoords( string )

</script>

<body onLoad=\'visCoords( \"spacer\" );\'>

Det skulle være underligt om ikke der er en bedre måde at hive den info ud af Explorer, men det er den jeg kender :)

mvh JakobA
Avatar billede jakoba Nybegynder
01. april 2001 - 02:39 #2
Jeg ved ikke hvor scrollTop og scrollLeft ligger i IE (vist slet ikke i NS) så du må sætte noget ind istedetfor ???

function scrollTil ( nvn ) {
    ???.scrollLeft = getIExko ( document.images[nvn] );
    ???.ScrollTop  = getIEyko ( document.images[nvn] );
};

<a href=\"java script:void(scrollTil(\'spacer\'));\">scroll til spacer</a>
Avatar billede andreas Nybegynder
01. april 2001 - 11:17 #3
Jeg har lige testet dit script og det virker ikke, den kommer med en del fejl.

Har du icq ? for så er det lidt nemmere at snakke der...
Avatar billede jakoba Nybegynder
01. april 2001 - 12:16 #4
sorry, ingen ICQ.
testede før jeg postede så ret så sikker.
kopier script fra svar af 01/04 2001 02:22:48 ind i head
og aktiver  visCoords( \"spacer\" );  (via onload eller link)
hvis ingen x,y alert så post url til side med script på.

mvh JakobA
Avatar billede andreas Nybegynder
01. april 2001 - 13:10 #5
hmm... det er fordi jeg skal have sat scrollTop og scrollLeft med værdierne
Avatar billede andreas Nybegynder
01. april 2001 - 13:17 #6
Sådan her set min javascript.js fil ud (jeg inkludere alt js)

function getIExko ( obj ) {
  if ( obj == document.body ) return obj.offsetLeft
  else return obj.offsetLeft +getIExko( obj.offsetParent );
}

function getIEyko ( obj ) {
  if ( obj == document.body ) return obj.offsetTop
  else return obj.offsetTop +getIEyko( obj.offsetParent );
}

scrollTop = getIEyko(document.images[spacer])
scrollLeft = getIExko (document.images[spacer])

og det virker ikke....

Avatar billede jakoba Nybegynder
01. april 2001 - 14:06 #7
document.body.scrollLeft = getIEyko(document.images[spacer]);
document.body.scrollTop = getIExko (document.images[spacer]);

det vil ikke virke i Netscape.

mvh www.fotx.net/JakobA
Avatar billede jakoba Nybegynder
01. april 2001 - 14:07 #8
næe hov. der skal \"-tegn omkring spacer der er et navn givet som streng:

document.body.scrollLeft = getIEyko(document.images[\"spacer\"]);
document.body.scrollTop = getIExko (document.images[\"spacer\"]);
Avatar billede jakoba Nybegynder
01. april 2001 - 16:46 #9
Hov fresten, stirrede mig blind på variabelnavnene. NS kan da også:

function hoptil() {
  if ( document.layers )
    window.scrollTo( document.images[\"spacer\"].x, document.images[\"spacer\"].y )
  else {
    document.body.scrollLeft = getIEyko(document.images[\"spacer\"]);
    document.body.scrollTop = getIExko (document.images[\"spacer\"]);
  }
}; //end hoptil()

bemærk at funktionen ikke må aktiveres før siden er lagt ud. dvs, det skal være på eller efter onload.
Avatar billede andreas Nybegynder
01. april 2001 - 21:49 #10
du forstår ikke... hvis du bare kunne få icq... så var det meget lettere
Avatar billede andreas Nybegynder
01. april 2001 - 22:01 #11
jeg har sendt dig en email
Avatar billede jakoba Nybegynder
02. april 2001 - 01:11 #12
tak for brev.

beklager, jeg er for doven.

generelt vil jeg anbefale at du ikke prøver at implementere et nyt script ved øjeblikkeligt at gemme det væk i .js filer og sylte det ind i al den anden kompleksitet der monne være på dine sider.
Prøv istedet at lave en lille side der ikke gør ret meget mere end lige det scriptet skal gøre og få scriptet til at virke der. Når det så virker kan du pakke det væk i en .js fil og lægge det ind på dine sider.

mvh JakobA
Avatar billede andreas Nybegynder
20. april 2002 - 23:32 #13
lukket
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