我正在使用jQuery的animate函数:
var css1 = {
display: "block",
marginTop: 20
};
var direction = "marginTop";
$(element).animate(css1, 150, 'swing');
注意上面的marginTop
属性。好吧,我想用方向变量替换它,但由于某种原因它不起作用。有谁知道为什么?
稍后编辑: 基本上我想替换:
var css1 = {
display: "block",
marginTop: 20
};
与
var css1 = {
display: "block",
direction: 20
};
问题是jQuery似乎没有将“direction”识别为“marginTop”属性
答案 0 :(得分:5)
您可以使用bracket notation执行您想要的动态属性,如下所示:
var direction = "marginTop";
var css1 = { display: "block" };
css1[direction] = 20;
$(element).animate(css1, 150, 'swing');
也可以通过css1.marginTop
访问css1["marginTop"]
,您可以使用变量作为第二个(括号表示法)版本。