我正在使用jQuery的animate函数,如下所示:

var css1 = {
      display: "block",
      marginTop: 20
    };

var direction = "marginTop";

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


注意上面的marginTop属性。好吧,我想用direction变量替换它,但是由于某种原因它不起作用。有人知道为什么吗?

以后编辑:
基本上我要替换:

var css1 = {
      display: "block",
      marginTop: 20
    };




var css1 = {
      display: "block",
      direction: 20
    };


问题是jQuery似乎无法将“方向”识别为“ marginTop”属性

最佳答案

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

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

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


也可以通过css1.marginTop访问css1["marginTop"],并且可以将变量用于第二个(括号表示法)版本。

关于javascript - jQuery-animate()属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3860064/

10-13 00:13