2010-09-03 4 views
0

J'ai la fonction suivante:variabile passant jQuery à Css ({})

$("#myId").css({left: leftVal+"px", top:topVal+"px"}); 

cela fonctionne.

Je cherche un moyen d'ajouter left: leftVal+"px", top:topVal+"px" comme une variable et faire ma fonction:

$("#myId").css({myCSSstuff}); 

J'ai tryed

var myCSSstuff= "left: "+leftVal+"px, top:"+topVal+"px" 

mais il ne fonctionne pas. Existe-t-il un moyen de le faire? Merci.

Répondre

4

Vous pouvez le faire comme ceci:

var myCSSstuff = { left: leftVal, top: topVal }; 
$("#myId").css(myCSSstuff); 

La notation est {} pour des objets ou des tableaux associatifs.

Il y a deux façons dont vous pouvez ajouter d'autres propriétés:

myCSSstuff.color = 'red'; 
myCSSstuff['color'] = 'red'; 

La deuxième approche vous permet d'utiliser des chaînes pour le nom de la propriété, à savoir

var prop = 'color'; 
myCSSstuff[prop] = 'red'; 
+3

et vous pouvez omettre le ' « px » 'partie. (jquery gère automatiquement) – aularon

+0

merci, cela fonctionne !. Que faire si j'ai besoin d'ajouter une autre variable dans le tableau à un moment donné. Quelque chose comme myCSSstuff = myCSSstuff + {color: something}. Comment puis je faire ça? Merci encore – Mircea

+0

J'ai ajouté plus d'exemples. – slikts

Questions connexes