JavaScript Rapha和xEB;l、 共享相同功能的多个阵列
javascript新手,使用Raphaël库。我使用的SVG图像有一组不同颜色的正方形。我想为每种颜色提供不同的设置(如bluepath、pinkpath),并共享相同的悬停和单击功能。弹出框工作正常,但我不确定如何加入多个阵列以共享相同的悬停和单击功能。如果有人能帮助我,我将不胜感激……:)JavaScript Rapha和xEB;l、 共享相同功能的多个阵列,javascript,arrays,raphael,Javascript,Arrays,Raphael,javascript新手,使用Raphaël库。我使用的SVG图像有一组不同颜色的正方形。我想为每种颜色提供不同的设置(如bluepath、pinkpath),并共享相同的悬停和单击功能。弹出框工作正常,但我不确定如何加入多个阵列以共享相同的悬停和单击功能。如果有人能帮助我,我将不胜感激……:) arr=newarray(); for(BluePath中的var块){ var obj=r.path(bluepath[block].path); 对象属性(属性); arr[obj.id]=块,属性
arr=newarray();
for(BluePath中的var块){
var obj=r.path(bluepath[block].path);
对象属性(属性);
arr[obj.id]=块,属性={
填写:“#00CCFF”,
笔划:“#3899E6”,
“笔划宽度”:1,
“笔划线条连接”:“圆形”
}
}
arr=新数组();
用于(PINKPATH中的var块2){
var obj=r.path(pinkpaths[blocktwo].path);
对象属性(属性);
arr[obj.id]=blocktwo,属性={
填写:“#00F”,
笔划:“#3899E6”,
“笔划宽度”:1,
“笔划线条连接”:“圆形”
}
对象悬停(函数(){
动画({fill:'#fff'},300);
},函数(){
动画({fill:attributes.fill},300);
})。单击(函数(){
document.location.hash=arr[this.id];
var point=this.getBBox(0);
$('#map')。下一步('.point')。删除();
$('#map')。在($('.addClass('point'))之后;
$('.point').html(蓝路径[arr[this.id]].name).prepend(
$('').attr('href','#').addClass('close').text('close'))
).预编(
$(“查看Raphaël的集合
,它是一个逻辑组,能够获得多个形状,设计用于通过一次调用操作多个对象。这似乎非常适合您的需要
示例:
您可以使用set
s将事件处理程序绑定到多个形状,如下所示:
var set=paper.set();
推(
r、 圆圈(240、120、60),
r、 rect(50100,60,60),
r、 路径('m160 200 l60 80 l-120 0 z')
);
悬停(
函数(){
//使用悬停的魔力!
},
函数(){
//在悬停时做些疯狂的事情!
}
);
参考资料: