[JavaScript] center document berekenen

Pagina: 1
Acties:

  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Ik ben bezig een JavaScript aan te passen zodat ook NS6 gebruikers ervan kunnen genieten.

Een deel van het script schuift een div naar het horizontale midden van het scherm en daarna uit het scherm. Nu vroeg ik me af of het al op een browser-onafhankelijke manier mogelijk is het midden van het browser-window te berekenen.

Ik heb al heel wat sites afgestruind, maar daar ben ik alleen nog de browser-afhankelijke manier tegengekomen. Misschien heb ik iets over het hoofd gezien?

P.S. Het is de bedoeling dat de site op IE5+ en NS6 kan draaien. Dus geen versie 4 van de browsers.

Verwijderd

als ik het goed heb heeft het window object een innerWidth property :)
(Dus met innerWidth / 2 moet je een heel eind komen :) )

  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Die kende ik al ja.
Maar die werkt niet met IE6, alleen met de Netscape browsers.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:02

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
2
if (document.al) middle = document.body.clientHeight / 2
else middle = window.innerHeight / 2

eventueel kan je voor msie ook offsetHeight gebruiken en mogelijk pixelHeight, al maakt het voor de body weinig uit (heeft te maken met meerekenen van margins) danwel pixelHeight retourneert altijd de height in pixels, maar dat is default bij de anderen ook zo

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Het antwoord op mijn topic is dus: nee, er is geen browser-onafhankelijke manier.

edit:

Het gedeelte van het centreren heb ik inmiddels opgelost, maar ik zit met nog een ander probleem.

Het gaat om het volgende. Ik heb een JavaScript waarmee ik een aantal images voorbij laat scrollen. In het midden van de pagina laat ik ze vergroten, laat ik ze stilstaan, verklein ze en laat ze vervolgens uit het scherm verdwijnen.

Het probleem is dat dit script niet helemaal op NS6 + Mozilla 0.9.9 werkt. Als ik de Venkman debugger gebruik kan ik het script gewoon debuggen en zie ik ook dat het script volledig wordt uitgevoerd. Echter, er is niks te zien op het scherm.

Het script staat hier:
script
De pagina staat hier:
webpage

Misschien dat iemand anders ziet wat er misgaat onder NS6 en Mozilla?

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 23-08 22:18

Dark Blue

Compositionista!

Alpenmeisje

papa_eend heeft hier wat op gevonden voor het crossbrowser maken van een page van mij:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function MoveFromMiddle(id, left, top)
{
    if ((doc.availWidth < VisibleWidth ) ||  (doc.availHeight < VisibleHeight) )
    {
        newposleft = VisibleWidth /2 + left + 10;
        newpostop = VisibleHeight /2 + top + 10;
    }
    else
    {
        newposleft = (doc.availWidth /2) + left;
        newpostop = (doc.availHeight /2)  + top;
    }
Field[id].moveTo(newposleft, newpostop);
}

Werkt in combinatie met de beehive van Clay :)

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Op zaterdag 27 april 2002 15:33 schreef Dark Blue het volgende:
papa_eend heeft hier wat op gevonden voor het crossbrowser maken van een page van mij:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function MoveFromMiddle(id, left, top)
{
    if ((doc.availWidth < VisibleWidth ) ||  (doc.availHeight < VisibleHeight) )
    {
        newposleft = VisibleWidth /2 + left + 10;
        newpostop = VisibleHeight /2 + top + 10;
    }
    else
    {
        newposleft = (doc.availWidth /2) + left;
        newpostop = (doc.availHeight /2)  + top;
    }
Field[id].moveTo(newposleft, newpostop);
}

Werkt in combinatie met de beehive van Clay :)
OK......wat is "de beehive van Clay"?
En verder, heb je nog een uitleg bij je MoveFromMiddle. Ik snap niet helemaal waarom ik die moet gebruiken ipv 1 van mijn eigen functies. Het positioneren van de div gaat namelijk wel goed (tenminste dat neem ik aan). Dat doe ik volgens de regels van DOM en NS6 en Mozilla ondersteunen dat gedeelte van DOM.

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 23-08 22:18

Dark Blue

Compositionista!

Alpenmeisje

Op zaterdag 27 april 2002 15:41 schreef -TheGrimReaper- het volgende:

[..]

OK......wat is "de beehive van Clay"?
Clay is een user hier...en hij heeft op http://www.xs4all.nl/~peterned een homepage waarop hij z'n javascript lib 'beehive' aanbiedt.
En verder, heb je nog een uitleg bij je MoveFromMiddle. Ik snap niet helemaal waarom ik die moet gebruiken ipv 1 van mijn eigen functies.
Ah, je hébt al eigen functies... maar je zoekt nog betere...die voor alle nieuwste browsers werken...
Het positioneren van de div gaat namelijk wel goed (tenminste dat neem ik aan). Dat doe ik volgens de regels van DOM en NS6 en Mozilla ondersteunen dat gedeelte van DOM.
Hmm ja en wat is dan je probleem? Volgens papa_eend (hier achter me aan t chillen) werkt deze in alle browsers...

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Op zaterdag 27 april 2002 16:41 schreef Dark Blue het volgende:

[..]

Clay is een user hier...en hij heeft op http://home.xs4all.nl/~peterned een homepage waarop hij z'n javascript lib 'beehive' aanbiedt.
[..]

Ah, je hébt al eigen functies... maar je zoekt nog betere...die voor alle nieuwste browsers werken...
[..]

Hmm ja en wat is dan je probleem? Volgens papa_eend (hier achter me aan t chillen) werkt deze in alle browsers...
Als ik de page in Mozilla oproep, dan gebeurt er helemaal niks op het scherm. Het script loopt volgens mij wel want in de Venkman debugger zie ik dat de code wordt uitgevoerd en kan ik steppen, maar op het scherm gebeurt er niks.

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 23-08 22:18

Dark Blue

Compositionista!

Alpenmeisje

Op zaterdag 27 april 2002 16:49 schreef -TheGrimReaper- het volgende:

[..]

Als ik de page in Mozilla oproep, dan gebeurt er helemaal niks op het scherm. Het script loopt volgens mij wel want in de Venkman debugger zie ik dat de code wordt uitgevoerd en kan ik steppen, maar op het scherm gebeurt er niks.
lees ff boven, het had www.xs4all.nl/~peterned moeten zijn.

Je hebt het nu over jouw code, of over die van papa_eend?

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Op zaterdag 27 april 2002 16:55 schreef Dark Blue het volgende:

[..]

Je hebt het nu over jouw code, of over die van papa_eend?
Over mijn code.

Het is natuurlijk erg mooi dat die lib er is, maar ik wil nu wel weten waarom mijn eigen code het niet doet in Mozilla en NS6.

  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
*SCHOP*
Pagina: 1