Ale*_*lex 1 javascript string variables jquery
我正在使用jQuery的animate函数,如下所示:
var css1 = {
display: "block",
marginTop: 20
};
var direction = "marginTop";
$(element).animate(css1, 150, 'swing');
Run Code Online (Sandbox Code Playgroud)
注意marginTop上面的属性.好吧,我想用方向变量替换它,但由于某种原因它不起作用.有谁知道为什么?
稍后编辑:基本上我想要替换:
var css1 = {
display: "block",
marginTop: 20
};
Run Code Online (Sandbox Code Playgroud)
同
var css1 = {
display: "block",
direction: 20
};
Run Code Online (Sandbox Code Playgroud)
问题是jQuery似乎没有将"方向"识别为"marginTop"属性
您可以使用括号表示法执行动态属性,如下所示:
var direction = "marginTop";
var css1 = { display: "block" };
css1[direction] = 20;
$(element).animate(css1, 150, 'swing');
Run Code Online (Sandbox Code Playgroud)
这样做css1.marginTop也可以通过访问 css1["marginTop"],并且可以使用一个变量用于第二(括号符号)版本.