2010-10-05 74 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