Toon posts:

[Javascipt/CSS] Kleuren opvragen van style sheet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een php/java script gemaakt die een style sheet aanpast.
Ik wil alleen nog een functie inbouwen die de huidige kleuren ophaalt.
Voor de text en background lukt dat, maar als ik de kleuren van de scrollbar wil opvragen lukt dat niet, ik krijg undefined als ik het zo doe:
code:
1
2
kleur = document.body.scrollbarFaceColor;
alert("Face color = "+kleur);

Als ik met javascript de scrollbar eerst wijzig dan werkt het wel.
code:
1
2
3
document.body.scrollbarFaceColor = "#FFFFFF";
kleur = document.body.scrollbarFaceColor;
alert("Face color = "+kleur);

Dit wil ik niet doen.
Heeft iemand een idee hoe ik het kan opvragen van de style sheet?

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

alert(document.getElementByTagName("body").style.scrollbarFaceColor);

mischien :)

disjfa - disj·fa (meneer)
disjfa.nl


  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

Ik denk dat als de style van de scrollbar nog niet gezet is je hem ook niet op kunt vragen.

Dat is hetzelfde als dat je de breedte van een tabel opvraagt zonder dat in de style van die tabel 'width:100px' staat. Het element bestaat dan nog gewoon niet.

Verwijderd

De methode getElementByTagName bestaat niet, getElementsByTagName wèl. Die functie geeft een NodeList terug, dus de body van een HTML document is document.getElementsByTagName('body').item(0).

Hier heb je echter niets aan als je echt de styles uit je stylesheet wit opvragen. Gelukkig bestaat er een array document.styleSheets, waarmee je wel het één en ander kunt. Die array bevat een aantal StyleSheet objecten, die elk weer allerlei informatie over die stylesheets bevatten. Ook kun je er rules in uitlezen of wijzigen.

Alle styles staan daar gewoon in, of ze nu in het document gebruikt zijn of niet. Daarmee kun je vast wel een eind verder komen :)

Verwijderd

Kijk op:
http://www.xs4all.nl/~ppk...l?/~ppk/js/getstyles.html

Er staat nog dat voor veel stijleigenschappen Netscape(=Mozilla) getComputedStyle nog niet werkt, maar volgens mij is dat al een stuk verbeterd. Voor kleuren werkt het al iig. Het wordt wel als een rgb(rrr,ggg,bbg) waarde weergegeven (in IE als #rrggbb)