Toon posts:

[HTML]CSS reageert niet bij body onLoad=

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende :
code:
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet1.css">
<script language="Javascript" type="text/javascript" src="dieet1.js"></script>
<script language="Javascript" type="text/javascript" src="diet1.js"></script>
</head>
<body bgcolor="silver">
<script language="javascript">
opbouw();
</script>
</body>
</html>


Dit werkt perfect.

Maar wanneer ik 'opbouw()' neerzet in de onLoad wordt mijn stylesheet niet meer gezien.

code:
1
2
3
<body bgcolor="silver" onLoad="javascript:opbouw()">
</body>
</html>


Is de stylesheetfile soms nog niet helemaal geladen wanneer ik de functie aanroep ?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

onLoad="javascript:opbouw()"

javascript: is voor href's niet voor events.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Ja, dat is wel zo, maar probleem blijft hetzelfde.
CSS file werkt niet

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Mijn glazen bol vertelt me helaas verder niet wat er in je javascriptje gebeurt...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Je kan proberen een setTimeout te gebruiken zodat de functie iets na het laden van de pagina pas wordt uitgevoerd zodat de browser de tijd heeft om de pagina op te bouwen

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Ook setTimeout doet niks veranderen.
Denk dat ik het zo zal laten dan maar.

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

Dark Blue

Compositionista!

Alpenmeisje

Ja maar, ik snap je niet helemaal.
Je wilt je pagina pas in je <body> vertellen dat hij in je <head> al wél of niét een stylesheet(verwijzing) neer had moeten dumpen. Is dat niet een beetje laat? Je head is dan al afgesloten...

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


  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Dark Blue schreef op 01 March 2003 @ 22:00:
Ja maar, ik snap je niet helemaal.
Je wilt je pagina pas in je <body> vertellen dat hij in je <head> al wél of niét een stylesheet(verwijzing) neer had moeten dumpen. Is dat niet een beetje laat? Je head is dan al afgesloten...
Nee, hij heeft een externe stylesheet die gewoon geladen moet worden, ongeacht wat er gebeurt. Zijn probleem is dat als hij <body onload="bla();"> gebruikt, zijn stylesheet niet geladen wordt. Dus zijn vraag is hoe dat komt c.q. hoe dit op te lossen is :)
Is het nu wat duidelijker? ;)

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

In principe moet dit gewoon goed gaan. Er zal dus ergens in opbouw() iets mis gaan. Post het js bestand anders, dan kunnen we zien wat er gebeurt.

Verwijderd

Topicstarter
opbouw() is niets meer als de verwijzing naar een document.write voor de complete opbouw van de pagina. Stond vroeger gewoon onder de body. Daarin wordt overigens wel gewerkt met de ID's en classes uit de stylesheet.

Verwijderd

misschien wel raar, maar kan je die link naar het stylesheet er 2 keer inzetten? 1 keer erboven (zoals nu) _en_ een keer na het javascript?
code:
1
2
3
4
5
6
7
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet1.css">
<script language="Javascript" type="text/javascript" src="dieet1.js"></script>
<script language="Javascript" type="text/javascript" src="diet1.js"></script>
<link rel="stylesheet" type="text/css" href="stylesheet1.css">
</head>

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:36

crisp

Devver

Pixelated

Verwijderd schreef op 02 March 2003 @ 00:03:
opbouw() is niets meer als de verwijzing naar een document.write voor de complete opbouw van de pagina. Stond vroeger gewoon onder de body. Daarin wordt overigens wel gewerkt met de ID's en classes uit de stylesheet.
Als je pagina reeds is opgebouwd dan kan je geen document.write's meer uitvoeren; deze worden immers dan buiten de HTML gerenderd (of mogelijk zelfs helemaal niet).
Als je na het parsen van de pagina nog elementen wil toevoegen zal je dus met createElement of innerHTML moeten gaan werken.

Intentionally left blank


Verwijderd

Topicstarter
Heb hetvolgende nu gedaan:
code:
1
2
3
4
5
<body scroll="no" onLoad="opbouw()"> 
<script language="javascript">
opbouw();
</script>
</body>


Nu zie ik dat alles eerst netjes wordt opgemaakt volgens de stylesheet.
Vervolgens springt de pagina naar de niet opgemaakte versie.
(Doordat ik 2 maal de functie oproep)
Als ik dit interpreteer dan zou ik haast zeggen dat de onLoad voorrang heeft t.o.v. de te laden rest van de pagina. En dan zou gevraagd worden naar de css en die is er dan nog niet.

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 29-05-2025

RRX

@life-

als die opbouw(); functie nou eens in de head zet? dan issie gedefineerd voordat je hem aanroept?

mijn T.net systeemspecspagina


Verwijderd

Topicstarter
Gaat mij er vooral om zoveel mogelijk te schrijven via stylesheets en javascripts.
Wanneer ik nu weer extra javascripten moet gaan toepassen in de pagina, ga ik weer aan mijn streven voorbij. En dit viel mij gewoon op.

Ik heb alles maar ff online gezet. Nog niet alle knoppen werken !
En heb hem werkend via de opdracht onder de body.
Zie DEZE PAGINA

[ Voor 37% gewijzigd door Verwijderd op 02-03-2003 02:10 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:36

crisp

Devver

Pixelated

Verwijderd schreef op 02 March 2003 @ 01:11:
Heb hetvolgende nu gedaan:
code:
1
2
3
4
5
<body scroll="no" onLoad="opbouw()"> 
<script language="javascript">
opbouw();
</script>
</body>


Nu zie ik dat alles eerst netjes wordt opgemaakt volgens de stylesheet.
Vervolgens springt de pagina naar de niet opgemaakte versie.
(Doordat ik 2 maal de functie oproep)
Als ik dit interpreteer dan zou ik haast zeggen dat de onLoad voorrang heeft t.o.v. de te laden rest van de pagina. En dan zou gevraagd worden naar de css en die is er dan nog niet.
Lees nou eens wat ik schrijf: na het parsen van de pagina (het moment dat onload dus wordt aangeroepen) kan je geen document.write meer gebruiken! Het is vies, het is ranzig en bovenal is het gewoon fout en is het niet vreemd dat je dan rare effecten krijgt...

Intentionally left blank

Pagina: 1