代码之家  ›  专栏  ›  技术社区  ›  Alex

jquery-animate()属性

  •  1
  • Alex  · 技术社区  · 15 年前

    我用的是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 回复  |  直到 15 年前
        1
  •  5
  •   Nick Craver    15 年前

    您可以使用 bracket notation ,像这样:

    var direction = "marginTop";
    var css1 = { display: "block" };
    css1[direction] = 20;
    
    $(element).animate(css1, 150, 'swing');
    

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