login  Naam:   Wachtwoord: 
Registreer je!
 Forum

css include met JS bepalen

Offline svm - 19/02/2007 14:57 (laatste wijziging 19/02/2007 15:10)
Avatar van svmPHP ver gevorderde Beste webmasters,

Ik heb een vraagje:
Ik wil met een functie in JavaScript bepalen welke CSS in de pagina gezet moest worden.
Ik dacht aan dit:
  1. <head>
  2. <script language="javascript">
  3. function kleur(dekleur) {
  4. document.write("<link rel='stylesheet' href='style_"+ dekleur +".css' type='text/css'>");
  5. }
  6. </script>
  7. </head>
  8.  
  9. <body onLoad="kleur('blauw')">
  10. ......


Maar dit werkt niet.
Ik krijg een witte pagina zonder foutmeldingen.
In de broncode staat alleen <link rel='stylesheet' href='style_blauw.css' type='text/css'>.
Niet de overige HTML dus.
Het zal dus aan document.write() liggen, maar welke functie moet ik anders gebruiken?

Ik ben nogal slecht in JS, dus het is waarschijnlijk wel simpel, maar ja: niet voor mij dus :S.

Groeten,
svm

8 antwoorden

Gesponsorde links
Offline Metalhead - 20/02/2007 11:12
Avatar van Metalhead HTML gevorderde Klopt, het aanroepen van je functie zal eerst de pagina wissen en daarna je echo weergeven... dat gaat dus niet werken...

Dus wat je wilt doen is wel wat lastiger... ik zou denken dat het zoiets moet;
  1. function kleur(dekleur) {
  2. if (dekleur == "blauw") {
  3. document.style.backgroundColor="#0000FF";
  4. } else if ...
  5. ...
  6. }
Offline svm - 20/02/2007 11:38 (laatste wijziging 20/02/2007 11:39)
Avatar van svm PHP ver gevorderde Ja, ik weet het ook zo kan, maar ik heb nu 6 verschillende pagina's aan CSS, dus ik ben bang dat deze optie wel kan, maar tè omslachtig is.

Maar hoe kan het dat bij mij de hele pagina geleegd wordt en alleen de waarde van kleur weergeven wordt (ook in de bron code: daar staat dus geen JS in ???).
Want er zijn talloze scripts die ook gebruik maken van document.write() maar waarbij alle andere HTML gewoon uitgevoerd wordt.

Hoe kan dit??


@Metalhead:
Toch bedankt
Offline Metalhead - 20/02/2007 17:14
Avatar van Metalhead HTML gevorderde Kijk anders hier eens naar:
http://javascri...style.html
Offline svm - 20/02/2007 18:20
Avatar van svm PHP ver gevorderde Dat is me iets te groot.
Verder zal ik er denk ik ook niet veel aan hebben, toch bedankt.

Ik heb van Grayen gehoord dat de document.write() de hele site bepaalt, doordat ik hem via onLoad in de body oproep.
Maar wat ik wil werkt nog niet.
Zo wil ik het hebben.

  1. <JS dat de CSS bepaalt>
  2.  
  3. <select name='kleur' onChange='css_style()'>
  4. <option value='blauw'>
  5. <option value='rood'>
  6. </select>


Jullie snappen denk ik wel wat ik wil:
De kleur die je selecteerd bepaalt de CSS die opgeroepen wordt.
Er staat een formulier op de pagina die ingevuld is, dus verversen is geen optie.
Offline X3ore - 20/02/2007 19:23
Avatar van X3ore HTML interesse Zoiets als op colorschemer.com ?
Anders eens in de bron loeren 
Offline svm - 20/02/2007 19:37
Avatar van svm PHP ver gevorderde Dit werkt met setBackGroundColor(), dit is volgens mij een standaard functie en helaas niet wat ik zoek.
Offline NCube - 20/02/2007 21:07 (laatste wijziging 20/02/2007 21:08)
Avatar van NCube HTML beginner
  1. <html>
  2. <head>
  3. <title>Voorbeeld</title>
  4. <link id="stylesheet" rel="stylesheet" type="text/css" href="style/blaat.css" />
  5. <script type="text/javascript">
  6. function setSheet( naam )
  7. {
  8. document.getElementById( 'stylesheet' ).href = naam + '.css';
  9. }
  10. </script>
  11. </head>
  12. <body>
  13. <select name="kleur" onchange="setSheet(this.value)">
  14. <option>blauw</option>
  15. <option>rood</option>
  16. </select>
  17. </body>
  18. </html>
Hiermee kan je de stylesheet veranderen
Offline Rens - 20/02/2007 21:11
Avatar van Rens Gouden medaille

Crew algemeen
Je moet je options wel een value meegeven hé...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s