jQuery - animate()属性

时间:2010-10-05 00:11:14

标签: javascript jquery string variables

我正在使用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”属性

1 个答案:

答案 0 :(得分:5)

您可以使用bracket notation执行您想要的动态属性,如下所示:

var direction = "marginTop";
var css1 = { display: "block" };
css1[direction] = 20;

$(element).animate(css1, 150, 'swing');

也可以通过css1.marginTop访问css1["marginTop"],您可以使用变量作为第二个(括号表示法)版本。