2009-07-22 11 views
1

Ich habe einen Code-Schnipsel, die wie folgt lautet:jQuery CSS mit variabler + einen statischen Wert

$('#content').css('padding-top', heightTwo + 44 + 'px'); 

heightTwo verändert sich ständig. Wenn es zum Beispiel den Wert 200 hat, bekommt der Padding-Top den Wert 20044. Ich möchte, dass es 244 ist, aber ich weiß nicht, wie ich es schreiben soll. Was ist die korrekte Syntax?

Dank

+0

Dies ist wirklich eine Syntax-Frage über JavaScript, anstatt eine Frage über jQuery. –

Antwort

6

Versuchen

$('#content').css('padding-top', (parseInt(heightTwo, 10) + 44) + 'px'); 

Das zweite Argument ParseInt dass Basis 10 spezifiziert ist, verwendet werden, während die Anzahl Parsen.

BEARBEITEN: Der Operator '+' verkettet, wenn die Operanden 'string' -Objekte sind, ODER fügt die Operanden hinzu, wenn sie nummeriert sind. In Ihrem Fall behandelt es heightTwo als 'string' und führt Verkettungen durch. parseInt konvertiert heightTwo in Integer und der Plusoperator führt eine Addition durch.

+0

Funktioniert wie ein Zauber, danke millionenfach! –

+0

Mmm, ich denke, es ist das '' px'', nicht das 'heightTwo', das bewirkt, dass es String-Verkettungen durchführt. Unter der Annahme, dass "heightTwo" immer Zahlen zurückgibt, ohne das "+" px', würde der Code eine Addition anstelle einer String-Verkettung durchführen. – Val

0

heightTwo und 44 ist numerisch, Sie können Klammern schließen.

$('#content').css('padding-top', (heightTwo + 44) + 'px');