2010-10-05 75 views
1

我使用jQuery的animate功能是这样的:的jQuery - 动画()的属性

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的似乎并没有认识到 “方向” 为 “marginTop” 属性

+0

什么代码完全不起作用?这里没有代码尝试你想要的 – 2010-10-05 00:13:26

回答

5

您可以像使用bracket notation一样执行动态属性,如下所示:

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

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

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

+0

谢谢,那就是它:D – Alex 2010-10-05 00:23:46