2010-08-16 56 views
0

我使用了一個名爲jQuery的圖像映射模擬器插件,它需要像這樣的參數:動態添加參數的jQuery

$('#example').imagemap([ 
{ 
    top_x: 0, 
    top_y: 0, 
    bottom_x: 75, 
    bottom_y:65, 
    callback: alertCallback} 
]) 

與多個陣列可能:

$('#example').imagemap([ 
// One image map 
{top_x: 0,top_y: 0,bottom_x: 75,bottom_y:65,callback: alertCallback}, 

// Another image map 
{top_x: 150,top_y: 105,bottom_x: 265,bottom_y:170,callback: alertCallback} 
]); 

我怎麼會去動態根據需要添加更多參數?理想情況下,我會有一個圖像映射「設置」,並能夠根據需要添加更多的新座標。 謝謝!

回答

1

傳遞給JQuery的選項只是簡單的JavaScript對象,因此您可以使用上面指定的方法在它們上定義屬性,或者將它們視爲鍵值字典。

以下是等同於你的第一個例子:

var options = new Array(); 
options[0] = new Object(); 
options[0]["top_x"] = 0; 
options[0]["top_y"] = 0; 
options[0]["bottom_x"] = 75; 
options[0]["bottom_y"] = 65; 
options[0]["callback"] = alertCallback; 

$('#example').imagemap(options); 

如果要添加新的參數,可以考慮保留的選項變量在頁面級範圍,並回顧圖像映射與新的參數時,他們改變。

+0

很好的答案,謝謝!需要稍微修改:必須將object [0]定義爲新對象。謝謝! – Rio 2010-08-16 13:50:10

+0

謝謝 - 對不起。我已經添加了它,以防有人再次遇到這個問題。 – 2010-08-16 14:31:41