我想弄清楚如何將設置傳遞給以下格式的動畫插件(我知道期待用戶跳入並使用像這樣的設置進行遊戲很糟糕,但我會以建立一個圖形用戶界面以及它一起):將JSON傳遞給jQuery插件
$('#animationContainer').plugin({
'path':[
{'path_on_x':[ // PATH_ON X IS AN ARRAY
{'0':'0px','1':'0px','2':'0px'}, // object 1 starting X values (0,1,2)
{'0':'0px','1':'0px','2':'0px'}, // object 2 starting X values (0,1,2)
{'0':'150px','1':'150px','2':'150px'} // object 3 starting X values...
]},
{'path_off_x':[ // PATH_ON X IS AN ARRAY
{'0':'0px','1':'0px','2':'0px'},
{'0':'0px','1':'0px','2':'0px'},
{'0':'150px','1':'150px','2':'150px'}
]},
{'path_on_y':[ // PATH_ON Y IS AN ARRAY
{'0':'0px','1':'0px','2':'0px'},
{'0':'0px','1':'0px','2':'0px'},
{'0':'0px','1':'50px','2':'200px'}
]},
{'path_off_y':[ // PATH_ON Y IS AN ARRAY
{'0':'0px','1':'0px','2':'0px'},
{'0':'0px','1':'0px','2':'0px'},
{'0':'200px','1':'50px','2':'0px'}
]}
]
});
此代碼目前安裝在插件,我引用所有的靜態值。 「路徑」包含與沿路徑動畫對象有關的所有設置。 path_on_x,path_off_x,path_on_y和path_off_y都包含用於從點0到點1到點2的動畫的特定座標值集合等。
數組內的每組座標都包含特定於正在動畫的不同對象的值。 (注意代碼在上面)
我習慣於做典型的默認值= ....代碼,只是將它與用戶選項合併,但我將如何去設置默認值(或某種其他類型的回退設置)在這種情況下?我很確定標準默認值= ...代碼不會削減它,只是使用上面的代碼代替默認值並不能解釋這樣一個事實,即可能有20個對象是動畫而不是3個如上所示。
有什麼建議嗎?謝謝!
好吧,這看起來很有前途,比我正在合作的結構更好。 :)我有幾個問題:我將如何去訪問第一個對象的第二個開始x座標點?它只是options.path [0] .x [0] [1]?設置默認值時,我只是創建相同的對象,但只使用1組設置(路徑「:」[[0 [0],[0],[[0],[0]], 「 ],[0]} ....和其他陣列會好,謝謝合併一萬:) – Aaron 2012-04-10 16:03:46
@Aaron:?!我敢肯定你會找出你自己的數組索引;)根據你如何定義「合併」和什麼值是可選的......我會寫一個小函數,它接受一個對象的設置(即'options.path [i]')並檢查每個屬性,填入缺失值。jQuery的'.extend'只會在完全丟失的情況下創建'x',但不會智能地填充單個數組。 – Tomalak 2012-04-10 16:52:50
太棒了!您搖滾:) – Aaron 2012-04-10 17:15:07