2011-12-11 12 views
8

Weird little snafu. Sto usando il metodo .css() di jQuery per cambiare la dimensione del testo (lunga storia, no, non posso usare le media query) usando una variabile e ho bisogno di aggiungere em ad essa. Non sono sicuro di quale sia la sintassi perché ci sono più valori per la modifica CSS.Funzione jQuery .css() con variabili e valori multipli

Per illustrare:

Ciò funziona perfettamente. Si aggiunge em al valore calcolato di victore:

$('h1').css('font-size', victore + 'em'); 

Questo non lo fa:

$('h1').css({ 
    'font-size':victore + 'em', 
    'line-height':vignelli + 'em'; 
}); 

Il em ha bisogno di citazioni ... ma così fa il valore. Avvolgendolo in parentesi non ha funzionato

+2

Sulla modifica più recente è necessario rimuovere il ';' dopo l'ultimo 'em'. – ThinkingStiff

risposta

17

Non dovrebbe avere le virgolette attorno tutta la faccenda:

$('h1').css({ 
    'font-size': victore + "em", 
    'color':'red' 
}); 
+0

gotcha. fatto un errore quando ho copiato il mio codice. vedi sopra modifica .. rompe il mio codice. – technopeasant

+1

Come indicato nei commenti, ora hai un punto e virgola che non dovrebbe essere presente. –

0

Il valore font-size è richiesto di essere una stringa, ma la stringa può essere il risultato di un'espressione, nel tuo caso victore + 'em' dovrebbe risultare nella stringa appropriata.

$('h1').css({ 
    'font-size': victore + 'em', 
    'color': 'red' 
}); 
0

Ecco uno fiddle.

$('h1').css({ 
    'font-size':victore + "em", 
    'color':'red' 
}); 
+0

Ah, capisco. Ho fatto un errore quando ho copiato il codice .. Si prega di vedere il post modificato per un diverso esempio di ciò che non funziona. Provato nel tuo violino e senza dadi – technopeasant

+0

@technopeasant, guarda il [violino aggiornato] (http://jsfiddle.net/sPEVs/1/). Ho usato pixel anziché em per l'esempio. EDIT: Ecco una versione con 'em': http://jsfiddle.net/sPEVs/2/ – FakeRainBrigand