[js] Juiste aanroep van body-hoogte

Pagina: 1
Acties:

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Ej,

Bij alle scripts die ik op het internet kan vinden staat precies niet wat ik zoek, of alleen deels.
Ik probeer een pagina, die vrij lang is, maar niet altijd even lang automatisch up, en neer te laten scrollen. Het hoef talleen maar voor IE6 te werken

Ik heb nu dit:"

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// in de head

var pix  = 2;
var yPos = 0;
function scrollPage() {
    if ( yPos+pix > 1*document.body.clientHeight || yPos+pix < pix )
        pix *= -1;

    self.scrollTo(0,yPos+=pix);
    setTimeout('scrollPage()',60);
}

// in body
<body onload="scrollPage">


Maar hij scrolled tot de hoogte van wat ik zie! dus ik zie 724 px ongeveer als hoogte, en hij scrolled zoveel naar beneden, en komt nooit meer lager, want hij gaat daarna omhoog.

Omdat overal clientHeigth op het internet te vinden is moet dat het haast zijn, maar het werkt maar niet. Doe ik het nou gewoon fout of moet ik toch een andere aanroep gebruiken voor de hoogte??

edit:

ik heb overigens al geprobeerd:
- document.body.scrollHeight
- document.body.offsetHeight
O-)

[ Voor 10% gewijzigd door semicon op 26-03-2005 10:31 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Probeer dan eens clientHeight ;)

Edit:
In je script staat het wel goed idd.

Wat jij vergeet is de hoogte van de pagina van de scrollhoogte af te trekken, zo gaat het wel goed:

code:
1
2
3
4
5
6
7
8
function scrollPage()
{
  if ((yPos+pix > document.body.scrollHeight - document.body.clientHeight) || (yPos+pix < 0))
  { pix *= -1; }

  document.body.scrollTop = yPos+=pix ;
  setTimeout('scrollPage()',60);
}

En dit werkt zowel in IE6 als in FF ;)

[ Voor 56% gewijzigd door André op 26-03-2005 13:49 ]