Pregunta

¿Es posible tomar algo como:

$("div").css({
    "top": var1,
    "height": var2,
     etc.
});

Y conviértalo en:

var dir = "top";
var length = "height";

$("div").css({
    dir: var1,
    length: var2,
     etc.
});

Hasta ahora, la única forma en que puedo hacer que funcione es declarando repetidamente las líneas por separado, como:

$("div").css(dir, var1);
$("div").css(length, var2);
$("div").css(etc.);

¿Alguien tiene alguna otra idea? La razón por la que me estoy molestando con esto es porque me gustaría poder voltear mi módulo 90 grados (es decir, que vaya de izquierda a derecha o de arriba a abajo), y para hacer eso tendría que tener un universal variable para la dirección.

¿Fue útil?

Solución

{" top " ;: var1, " height " ;: var2} crea un Objeto JavaScript que tiene dos propiedades definidas por el usuario. Desafortunadamente, JavaScript no le permite usar variables como nombres de propiedad al definir un Objeto de esta manera.

Debería poder hacerlo así:

var o = {};
o[dir] = var1;
o[length] = var2;
$("div").css(o);

Otros consejos

Prueba esto ...

var myCss = {};
myCss[dir] = var1;
$("div").css(myCss);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top