2 Stimmen

jQuery-Variablen als Schlüssel in Key:Pair-CSS-Attributen

Ist es möglich, etwas zu nehmen wie:

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

Und verwandeln Sie es in:

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

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

Bisher kann ich es nur zum Funktionieren bringen, indem ich die Zeilen wiederholt separat deklariere, z. B. so:

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

Hat jemand eine andere Idee? Der Grund, warum ich mit dieser Mühe ist, weil ich möchte in der Lage sein, mein Modul um 90 Grad zu spiegeln (aka, haben es gehen von links nach rechts oder oben nach unten), und zu tun, dass ich eine universelle Variable für Richtung haben müsste.

10voto

Grant Wagner Punkte 24137

{ "top": var1, "height": var2 } erstellt ein JavaScript-Objekt, das zwei benutzerdefinierte Eigenschaften hat. Leider ist es in JavaScript nicht möglich, Variablen als Eigenschaftsnamen zu verwenden, wenn Sie ein Objekt auf diese Weise definieren.

Sie sollten es so machen können:

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

0 Stimmen

Das ist eine wirklich interessante Lösung. Ich werde noch mehr darüber nachdenken müssen, aber es beantwortet definitiv die Frage. Danke!

1voto

Josh Stodola Punkte 79569

Versuchen Sie dies...

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X