2009-07-22 7 views
1

J'ai un extrait de code qui va comme ceci:jQuery avec la variable + css une valeur statique

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

heightTwo change toujours. Quand il a la valeur 200 par exemple, le sommet de remplissage obtient la valeur 20044. Je veux que ce soit 244 mais je ne sais pas comment l'écrire. Quelle est la syntaxe correcte?

Merci

+0

Ceci est vraiment une question de syntaxe sur JavaScript, plutôt qu'une question sur jQuery. –

Répondre

6

Essayez

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

Le second argument de parseInt précise que la base 10 est utilisée lors de l'analyse du nombre. L'opérateur '+' concatène si les opérandes sont des objets 'chaîne' OU ajoute les opérandes si elles sont des nombres. Dans votre cas, il traite heightTwo comme une «chaîne» et effectue une concaténation. parseInt convertira heightTwo en Integer et l'opérateur plus fera l'addition.

+0

Fonctionne comme un charme, merci un million de fois! –

+0

Mmm, je pense que c'est le '' px '', pas le 'heightTwo', qui l'amène à faire une concaténation de chaînes. En supposant que 'heightTwo' renvoie toujours des chiffres, sans le' + 'px'', le code ferait l'addition à la place de la concaténation de chaîne. – Val

0

heightTwo et 44 étant numérique, vous pouvez fermer les parenthèses.

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