PDA

View Full Version : [CSS + JScript] come recuperare i valori del css con javascript


mattomas
23-05-2011, 22:00
Ciao a tutti,
vorrei realizzare la versione accessibile di un sito.
Ho realizzato, per ora, 2 funzioni javascript per aumentare e diminuire la grandezza del carattere.
function aumentaDimensione()
{
var size=document.body.style.fontSize;

var dim=parseInt(size); //cerca numero all'inizio della stringa
dim=dim+2;
document.body.style.fontSize=dim+'px';
}
i problemi fondamentali sono 2:
- non mi recupera la dimensione scritta nel css, l'ho per ora aggiunta nel tag body
<body onload="document.body.style.fontSize='16px'">
come faccio a fare in modo che mi recupera il valore scritto nei css (ho un file esterno)
-l'altro problema è che quando cambio pagina non mi mantiene la grandezza del carattere

chi mi aiuta?
Grazie :D

Vheon
23-05-2011, 22:37
va fatto cosi:
http://www.quirksmode.org/dom/getstyles.html

la sintassi purtroppo e' molto java-style che a mio parere su javascript e' orribile da vedere :mad:

per quanto riguarda l'altro problema e' normale: tu cambi in quel momento sul tuo client la dimensione del font, poi cambi pagina e rielabora il css e ti rimette la grandezza standard. Potresti mettere l'informazione in un cookie e controllare ad ogni pagina del sito se c'e' il cookie e impostare il valore memorizzato... (e' la prima idea che mi e' venuta in mente, sicuramente c'e' di meglio) :)

mattomas
23-05-2011, 23:46
Grazie...per adesso :D
appena posso provo e ti faccio sapere

Vheon
23-05-2011, 23:50
di niente:D cmq non mi ricordo se ti da il computed style, ma hai pensato di usare JQuery? fai prima invece dei soliti document.blabla.blb

mattomas
24-05-2011, 19:39
non conosco jquery..e non ho molto tempo per impararlo ora come ora.. :D

mattomas
26-05-2011, 11:26
Ho fatto un passo avanti, grazie al tuo link :D
Quindi ora riesco ad aumentare, diminuire la dimensione del carattere e anche ad invertire il colore sfondo/testo leggendo dal CSS il valore di base.

Ora devo fare in modo che quando cambio pagina mi mantenga questi valori..tu mi suggerivi i cookies..ma ho una domanda.. con un cookie posso salvare solo un valore o di più?

Vheon
26-05-2011, 11:58
Da quel che ricordo il cookie lo puoi trattare come un oggetto javascript, quindi una mappa, ergo più valori :)

mattomas
26-05-2011, 22:39
Alla fine ho usato tre cookies anche perchè così li posso gestire meglio in caso di problemi.

Ora sorge il problema compatibilità con i browser..con explorer tutto liscio.
Con firefox ho fatto delle modifiche (ho scoperto che salva i colori in rgb e non in esadecimale).
Con chrome mi funziona solo su singola pagina, quando cambio le impostazioni mi ritornano quelle di base.Quindi significa che hanno problemi i cookies vero?