Avatar billede hien Nybegynder
15. marts 2003 - 16:10 Der er 47 kommentarer og
1 løsning

Scroll vandret hen langs siden...

Nogen der sidder inde med et script der kan scrolle vandret hen langs siden, som på www.prodic.dk - bare et eller andet simpelt script! :)
Avatar billede schaefner Juniormester
15. marts 2003 - 16:20 #1
Prøv at kigge i koden på siden :)
Avatar billede hien Nybegynder
15. marts 2003 - 16:35 #2
Det har jeg gjort.. den er faktisk mere avanceret end den ser ud til ved første øjekast.. leder efter noget mere konkret!
Avatar billede olebole Juniormester
15. marts 2003 - 22:08 #3
<ole>

1. Det _er_ ikke helt uavanceret at lave.
2. Hvad, mener du, ville være 'mere konkret' end prodic's side?

/mvh
</bole>
Avatar billede hien Nybegynder
16. marts 2003 - 12:40 #4
Jeg mener at jeg ikke fatter en pind af prodics kode :) Dvs når jeg siger noget mere konkret, mener jeg om i måske lå inde med et lignende script jeg kunne få, eller i hvert fald starte ud fra.
Avatar billede Slettet bruger
16. marts 2003 - 13:12 #5
Skal det være hele siden eller bare et div, der scroller?
Avatar billede hien Nybegynder
16. marts 2003 - 13:59 #6
Hele siden tak
Avatar billede Slettet bruger
16. marts 2003 - 14:16 #7
Skal den scrolle til en bestemt position eller bare hele vejen frem og tilbage.
Avatar billede Slettet bruger
16. marts 2003 - 14:17 #8
?
Avatar billede hien Nybegynder
16. marts 2003 - 15:38 #9
Bare hele veden langs siden... dvs fra venstre til højre.
Princippet skulle være at man klikkede på en knap til venstre, og hvorefter den så automatisk scrollede hele vejen over til højre.

Som på www.prodic.dk
Avatar billede Slettet bruger
16. marts 2003 - 16:33 #10
I IE:

<script>
function scrollH() {
  if (document.body.scrollLeft < document.body.scrollWidth) {
    self.scrollBy(10, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>

Sættes i gang med:

<a href="#" onClick="scrollH(); return false;">Scroll til højre</a>
Avatar billede olebole Juniormester
16. marts 2003 - 17:30 #11
phoenixv >> Det vil da give en funktion, der kalder sig selv i det uendelige  :)
Avatar billede Slettet bruger
17. marts 2003 - 14:22 #12
olebole>> document.body.scrollLeft bliver vel 10 større for hver gang. Og når den når op på hele sidens bredde, stopper den. Eller hvad?
Avatar billede Slettet bruger
17. marts 2003 - 14:24 #13
Det virker fint på min computer.
Avatar billede olebole Juniormester
17. marts 2003 - 14:33 #14
Jaja ...... men den kører uendeligt - selvom siden er scrollet helt ud til højre. Det er ikke så fikst  :)

document.body.scrollLeft returnerer afstanden fra dokumentets venstre kant til vinduets venstre kant. Den kan aldrig blive lig med document.body.scrollWidth.
Avatar billede Slettet bruger
17. marts 2003 - 14:44 #15
Det har du ret i. Selvom det faktisk ikke ser sådan ud på min com.
Men ændr det til dette:

<script>
function scrollH() {
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.clientWidth) {
    self.scrollBy(10, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>

Tilfreds? :)
Avatar billede hien Nybegynder
18. marts 2003 - 21:20 #16
Jeg kan ikke bruge:

<script>
function scrollH() {
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.clientWidth) {
    self.scrollBy(10, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>

Det vil den slet ikke reagere på, men den første virker... problemet er dog bare at siden er meget aflang... faktisk ca 2000 pixels... jeg har fået den til at "hoppe" derover, men den springer bare over, og kører ikke lige så stille som jeg ellers ville have den til!

Det script jeg bruger lige nu:

<script>
function scrollH() {
  if (document.body.scrollLeft < document.body.scrollWidth) {
    self.scrollBy(1950, 0);
    setTimeout("scrollH();", 1);
  }
}
</script>

Er det muligt man kunne få den til at køre glidende? Istedet for den bare springer til højre?
Avatar billede hien Nybegynder
18. marts 2003 - 21:25 #17
I må undskylde ventetiden... men har lige smidt 20 point ekstra i for besværet :)
Avatar billede hien Nybegynder
18. marts 2003 - 21:33 #18
Hmm fandt lige ud af at den ikke virkede korrekt! :/ phoenixv ved du hvordan det kan gøres??
Avatar billede Slettet bruger
19. marts 2003 - 15:26 #19
Dette virker altså fint på min computer:

<script>
function scrollH() {
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.clientWidth) {
    self.scrollBy(100, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>

Der må være noget galt med den måde, du kalder scriptet på. Smid et link.

Du kan i øvrigt altid gøre tallet 100 større. Det får scriptet til at rykke lidt længere ad gangen.
Avatar billede Slettet bruger
19. marts 2003 - 15:26 #20
Faktisk vil dette nok være smartest:

<script>
function scrollH() {
  self.scrollBy(100, 0);
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.clientWidth)
    setTimeout("scrollH();", 50);
}
</script>
Avatar billede Slettet bruger
19. marts 2003 - 15:28 #21
Næ, det er ligemeget. Vælg den første! :)
Avatar billede olebole Juniormester
19. marts 2003 - 16:38 #22
phoenixv >> I IE6 reurnerer document.body.scrollWidth og document.body.clientWidth samme tal, så det er helt korrekt: Det virker ikke  :)

Det _er_ noget buggy L.... at lave den slags scroller ... ikke mindst, hvis det skal virke bare nogenlunde X-browser.
Avatar billede Slettet bruger
19. marts 2003 - 17:01 #23
Så prøv offsetWidth da:

<script>
function scrollH() {
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.offsetWidth) {
    self.scrollBy(100, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>

Og desuden kører scriptet ikke uendeligt; har tjekket.
Avatar billede olebole Juniormester
19. marts 2003 - 17:13 #24
S(ame)O(ld)S(hit) ... Det _er_ ikke nemt  :)
Avatar billede olebole Juniormester
19. marts 2003 - 17:14 #25
Jo, det gør .... jeg har også checket  ;o)
Avatar billede Slettet bruger
19. marts 2003 - 17:22 #26
Vi må have to helt forskellige versioner af IE6, for i min test returneres tre vidt forskellige (og efter hvad jeg mener - korrekte) tal ved scrollWidth, offsetWidth og clientWidth.
Og funktionen kører heller ikke uendeligt på min maskine.
Avatar billede olebole Juniormester
19. marts 2003 - 17:32 #27
Hvad får du ud af det her:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>..:: TITLE ::..</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/JavaScript">
function test() {
    var str = document.body.clientWidth+"\n";
    str += document.body.offsetWidth+"\n";
    str += document.body.scrollWidth;
    alert(str);
}
</script>
</head>
<body>

<div style="white-space:nowrap">
<button onclick="test()">TEST</button>
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
</div>

</body>
</html>
Avatar billede olebole Juniormester
19. marts 2003 - 17:38 #28
Nu ved jeg ikke, hvilket du mener ikke kører uendeligt. Det, du skrev i (16/03-2003 16:33:00) gør naturligvis  :)
Avatar billede Slettet bruger
19. marts 2003 - 21:15 #29
Hm, ja det giver rigtignok det samme...
Men hvad siger din computer til dette:

<html>
<head>
<script>
var to;

function scrollH() {
  clearTimeout(to);
  to = setTimeout("window.status = '';", 100);
  window.status = "Scriptet kører";
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.clientWidth) {
    self.scrollBy(100, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>
</head>
<body onLoad="alert(document.body.scrollWidth + '\n' + document.body.clientWidth + '\n' + document.body.offsetWidth);">
<a href="#" onClick="scrollH(); return false;">Scroll</a><br>
Blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</body>
</html>
Avatar billede olebole Juniormester
19. marts 2003 - 22:49 #30
Ja, det er klart ..... hvis man ikke overholder HTML-standarden  :)
Den tåler ikke en doc-type  :(
Avatar billede olebole Juniormester
19. marts 2003 - 22:50 #31
... og du skal endelig huske at inkludere url'en. Ellers misfortolker IE box-modellen  ;o)
Avatar billede olebole Juniormester
19. marts 2003 - 22:53 #32
Som jeg skrev tidligere: Det _er_ ikke nemt.
Skal man scrolle, bør man lave en DHTML-scroller ... specielt, hvis det er horisontalt. Selv i en DHTML-scroller kan det volde problemer, men det er dog ikke så buggy en ting, som det at scrolle et helt dokument.
Avatar billede Slettet bruger
20. marts 2003 - 13:43 #33
Avatar billede Slettet bruger
20. marts 2003 - 13:43 #34
Avatar billede hien Nybegynder
20. marts 2003 - 20:25 #35
Den virker i hvert fald ikke:

<html>
<head>
<script>
var to;

function scrollH() {
  clearTimeout(to);
  to = setTimeout("window.status = '';", 100);
  window.status = "Scriptet kører";
  if (document.body.scrollLeft < document.body.scrollWidth - document.body.clientWidth) {
    self.scrollBy(100, 0);
    setTimeout("scrollH();", 50);
  }
}
</script>
</head>
<body onLoad="alert(document.body.scrollWidth + '\n' + document.body.clientWidth + '\n' + document.body.offsetWidth);">
<a href="#" onClick="scrollH(); return false;">Scroll</a><br>
Blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</body>
</html>
Avatar billede hien Nybegynder
20. marts 2003 - 20:31 #36
http://v6.hien.dk/ brugernavn: eksperten - kode: script

Jeg har brugt www.phoenixv.dk/exp/div_slider1.html men problemet er at jeg selv bruger en del <div>'s i forvejen, og det ser ud som om at det ødelægger følgende script... prøv selv...
Avatar billede hien Nybegynder
20. marts 2003 - 21:12 #37
Prøv: http://v6.hien.dk/index2.htm og http://v6.hien.dk/index3.htm

og prøv at vælge scroll i bunden... se resultaterne... jeg har ændret dem til <span>'s så de ikke bliver kludret så meget sammen som før!

Problemet er at jeg gerne vil have at den bliver som nr 3... altså så scrollen følger med... men så skal man kunne scrolle tilbage med den almindelige scrollbar... men den forsvinder bare helt.

I index2.htm er den helt galt... den flytter bare derhen og man kan ikke få den tilbage... det er sq lidt kludret! :/
Avatar billede hien Nybegynder
20. marts 2003 - 21:14 #38
Nu er jeg så kommet til det punkt og indset at det ikke er spor let.. derfor er pointsats forhøjet til 100 points som tak for jeres store indsats :) Sætter jeg virkelig pris på!
Avatar billede hien Nybegynder
20. marts 2003 - 21:56 #39
Jubii.. har rodet lidt med koderne.. og har fået noget positivt ud af det :) index3.htm er hermed slettet, og http://v6.hien.dk/ virker som det skal... hehe prøv den og tag en lille slidetur! :) Smid et svar hvis i vil have jeres hårdttjente points ;)
Avatar billede olebole Juniormester
21. marts 2003 - 15:19 #40
Prøv at trykke på den venstre scroll-pil, mens den scroller tilbage ... det funker stadigvæk ikke ordentligt.

Prøv i stedet at se på ham her:
  http://www.gosume.com/viewsrc/
Tryk evt. på '02' - så kan du se de scrollere, han har lavet. Det er nok en langt bedre idé at lave det i DHTML ... derved slipper du også af med system-scrollbaren  ;o)
/mvh
Avatar billede Slettet bruger
21. marts 2003 - 17:08 #41
Hm, det kunne lyde, som om det er en ordentlig omgang lortekode, jeg har fabrikeret. Så du må hellere spare pointene til en anden...
Avatar billede olebole Juniormester
21. marts 2003 - 19:57 #42
phoenixv >> Det er ikke lortekode, du har begået ... der er bare en masse ting, der er lidt buggy i browserne. Du har da gjort et fint og ihærdigt forsøg på at løse problemet - og det er jo ikke din skyld, der er besynderligheder i bruseren  ;o)
/mvh
Avatar billede Slettet bruger
22. marts 2003 - 14:55 #43
Nej, nej. Jeg klarer mig også nok. :)
Avatar billede hien Nybegynder
24. marts 2003 - 14:20 #44
Det er skam fint nok det du har præsteret, jeg synes bare du skulle stoppe med at være så ydmyg og smide et velfortjent svar :) Det er fint det du har lavet.. lige hvad jeg kan bruge! :)
Avatar billede Slettet bruger
24. marts 2003 - 17:23 #45
Det er i hvert fald ikke 100 point værd. Så snup nogle af dem selv eller giv dem til olebole
Avatar billede hien Nybegynder
24. marts 2003 - 18:00 #46
Så synes jeg også olebole skulle tage og smide et svar! :)

...og lidt reklame for et andet spg jeg har oprettet:
http://www.eksperten.dk/spm/332760 :)
Avatar billede hien Nybegynder
31. marts 2003 - 17:06 #47
Nå.. men du får bare point! :)
Avatar billede Slettet bruger
01. april 2003 - 15:14 #48
olebole>> Sig til, hvis du vil have nogle af pointene.
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