Avatar billede speder2 Nybegynder
05. december 2001 - 15:30 Der er 10 kommentarer og
1 løsning

Scroll i layer

Hej Igen. Jeg VED godt, at det ikke er tilladt at stille samme sprøgsmål to gange, men jeg kan ikke få lov til at øge points, så jeg tillader mig at prøve igen.

*****************

Hej

Jeg har spurgt om dette tidligere, men desværre er min gamle profil blevet uretmæssigt slettet og svaret til spørgsmålet er ligeledes forsvundet. Så jeg prøver igen.

Jeg har to scrollable layers, som jeg ønsker skal - automatisk - scrolle til et anchor, når siden loades. Det er vigtigt at selve siden (body) ikke scroller med. Bemærk, at BEGGE layers skal scrolles til et bestemt punkt. Derfor duer onload=\"href=\"#hertil\", bla bla ikke! HTML\'en ser sådan ud:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<div id=\"Layer1\" style=\"position:absolute; z-index:1; overflow: scroll; width: 100; height: 100\">
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p><a name=\"gå_hertil_1\"></a>4</p>
  <p>5</p>
  <p>6</p>
  <p>7</p>
  <p>8</p>
  <p>9</p>
  <p>&nbsp;</p>
</div>

<div id=\"Layer2\" style=\"position:absolute; width:100; height:100; z-index:2; overflow: scroll\">
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p><a name=\"gå_hertil_2\"></a>4</p>
  <p>5</p>
  <p>6</p>
  <p>7</p>
  <p>8</p>
  <p>9</p>
  <p>&nbsp;</p>
</div>
</body>
</html>

Kan i komme op med et JavaScript til dette?

M.v.h.

Søren
Avatar billede Slater Ekspert
05. december 2001 - 20:25 #1
Hmm.. I Internet Explorer skriver du bare

scroller_object.scrollTop = scrollto_object.offsetTop;

jeg ved der findes et lignende field (som offsetTop) i Nutscrape, men spørg mig ikke hvad det hedder.
Avatar billede speder2 Nybegynder
05. december 2001 - 20:27 #2
hvordan scrolles til et bestemt anchor kaldet f.eks. \"hertil\"? Det er ok, hvis det kun virker i IE.
Avatar billede Slettet bruger
05. december 2001 - 20:47 #3
Jeg er ikke sikker på, du kan! Du kan evt. oprette to iframes, der så hver har følgende funktion i <head>:

<script>
function scrollToAnchor() {
self.location.href = \"#gaa_hertil\";
}
</script>

Så skal du linke til det således:
<a href=\"void(document.iframeNavn1.scrollToAnchor()); void(document.iframeNavn2.scrollToAnchor());\">Scroll</a>
Avatar billede speder2 Nybegynder
06. december 2001 - 08:33 #4
iframes er desværre ikke lige hvad jeg kigger efter.
Avatar billede Slettet bruger
06. december 2001 - 16:34 #5
Well, then U have a problemo! :)
Avatar billede speder2 Nybegynder
08. december 2001 - 11:01 #6
Jeg har fået en løsning på problemet tidligere. desværre er svaret blevet slettet fra ekspertens arkiv.
Avatar billede Slettet bruger
08. december 2001 - 20:13 #7
Du kan scrolle i en iframe vha. document.iframeNavn.scrollTo(x,y);
Men du skal så også lige finde ankerets position i iframen, og det er sværere. Men jeg er faktisk frisk på udfordringen, så jeg vender måske tilbage!
Avatar billede Slettet bruger
08. december 2001 - 20:19 #8
Ups, glem min kommentar lige før; jeg havde jo glemt, du ikke kan lide iframes!
Men her er et script, der kan finde et ankers position på en side, måske kan du bruge det:

http://www.mattkruse.com/javascript/anchorposition/source.html
Avatar billede speder2 Nybegynder
17. december 2001 - 14:26 #9
Det er desværre alt for kompleks. Der findes en måde at gøre det på uden at udregne x/y-koordinater. Desværre har jeg ikke længere løsningen.
Avatar billede Slettet bruger
23. december 2001 - 20:24 #10
Avatar billede speder2 Nybegynder
21. januar 2002 - 09:23 #11
Ikke lige hvad jeg ledte efter.
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