2010-08-16 36 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