Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 拉斐尔js的不同悬停效果_Jquery_Hover_Raphael - Fatal编程技术网

Jquery 拉斐尔js的不同悬停效果

Jquery 拉斐尔js的不同悬停效果,jquery,hover,raphael,Jquery,Hover,Raphael,我正在用raphael插件js构建一个交互式地图。 我设置了不同的循环来包装颜色的路径。现在,如何为不同的循环使用不同的悬停颜色 谢谢你的建议 循环的两个示例: //Abbigliamento var rosa = {}; rosa["2"] = map.path("M 361.414,300.778 354.578,307.089 354.433,362.433 367.838,362.433 367.838,373.704 430.308,373.704 430.308,300.7

我正在用raphael插件js构建一个交互式地图。

我设置了不同的循环来包装颜色的路径。现在,如何为不同的循环使用不同的悬停颜色

谢谢你的建议

循环的两个示例:

//Abbigliamento
var rosa = {};
rosa["2"] = map.path("M 361.414,300.778 354.578,307.089 354.433,362.433 367.838,362.433 367.838,373.704     430.308,373.704 430.308,300.778    z");
rosa["4"] = map.path("M 326.896,373.593 326.896,363.609 347.391,363.609 347.391,306.804 341.781,301.02 264.493,301.02     264.493,337.675 269.733,342.916 269.64,373.593    z");
rosa["5"] = map.path("M240.633,300.778c0-0.394-41.99-0.197-63.07-0.074v11.323H160.7l0.036,61.726h75.203l-0.214-29.676    l4.909-5.434C240.633,338.643,240.633,301.303,240.633,300.778z");

for(var civico in rosa) {
    rosa[civico].attr(style);
}

//Cultura
var arancio = {};
arancio["3"] = map.path("M 354.578,307.089 361.181,300.544 373.575,300.544 373.575,309.04            354.578,309.039    z");
arancio["7"] = map.path("M 113.015,300.954 113.015,365.639 129.493,365.639 129.636,373.527 129.493,365.639     134.356,365.541 134.467,353.893 128.441,300.602    z");
arancio["8"] = map.path("M 93.731,300.954 113.015,300.954 113.015,365.765 129.493,365.765 129.493,373.668 93.978,373.668        z");
arancio["9"] = map.rect(445.229, 260.62, 39, 19);
arancio["10"] = map.rect(412.147, 260.62, 39, 19);

for(var civico in arancio) {
   arancio[civico].attr(style);
}

您可以在数组中设置样式,然后设置悬停样式函数

var styles = [];
styles[2] = { fill: "red", stroke: "blue" };
styles[3] = { fill: "red", stroke: "blue" };
styles[4] = { fill: "blue", stroke: "red" };
styles[5] = { fill: "yellow", stroke: "green" };
styles[7] = { fill: "yellow", stroke: "green" };

function myStyleFunc( which ) {
    this.attr( styles[ which ] ); 
}
和之后(或设置路径时循环外部的较早时间)


小提琴的例子

不清楚你到底有什么问题。只需添加类似element.hover(function(){this.attr(myStyleObject)})的内容;您可能还希望包括hoverout部分。你可以有一个不同样式的数组,或者只是在每个map.path()元素后应用它们。你好,伊恩,是的,我想为每个数组使用不同的颜色,但我仍然找不到有效的解决方案。感谢你的努力,但是当我使用带有大量空格的map(我称之为带有数字的civico)时,我必须逐个设置。如果可能的话,我希望这个颜色可以和var rosa搭配,所以我不在乎我会添加多少地方。希望我清楚这一点不知道你的意思,如果你能澄清的话,我怀疑这是语言的问题。是的,也许我不能更好地解释它。顺便说一句,我决定对每个数组应用一个id,并使用css设置样式。无论如何谢谢你
for(var civico in rosa) {
    rosa[civico].attr(style).hover( myStyleFunc.bind(rosa[civico], civico)        );
}