Javascript 点击后,笔划断裂或形状在其他人下方移动-Raphael.js

Javascript 点击后,笔划断裂或形状在其他人下方移动-Raphael.js,javascript,map,svg,raphael,Javascript,Map,Svg,Raphael,我是在Raphaël网站的演示之后制作的。 我希望每个形状(départe)都可以点击并指向一个页面。 例如,我把一个链接放在一个黄色的形状上,或多或少地放在地图的中心 事情是这样的: 没有点击,形状看起来很棒,我点击它,它会引导页面,完美! 我单击浏览器上的上一个箭头返回并再次悬停在相同的形状上,它的行为非常奇怪。笔划看起来断裂或形状在其他笔划下方()。你知道发生了什么事吗 另外,我想听听您对地图使用经验的意见和反馈(主要是可用性和与浏览器的兼容性) 提前感谢您的帮助。它看起来奇怪的原因是,通

我是在Raphaël网站的演示之后制作的。 我希望每个形状(départe)都可以点击并指向一个页面。 例如,我把一个链接放在一个黄色的形状上,或多或少地放在地图的中心

事情是这样的:
没有点击,形状看起来很棒,我点击它,它会引导页面,完美! 我单击浏览器上的上一个箭头返回并再次悬停在相同的形状上,它的行为非常奇怪。笔划看起来断裂或形状在其他笔划下方()。你知道发生了什么事吗

另外,我想听听您对地图使用经验的意见和反馈(主要是可用性和与浏览器的兼容性)


提前感谢您的帮助。

它看起来奇怪的原因是,通过添加元素链接,Raphael将
元素(定义départe形状)包装在
中。但是它的
toFront()
方法仍然适用于
,因此现在只需将它推到
的前面,而不是整个départ集合的前面。换句话说,
.toFront()
不再工作

事实上,这在我看来就像拉斐尔的一只虫子。我不知道如何修复它,除了用一个函数替换您正在使用的
.toFront()
的每一个引用之外,该函数检查节点是否有
父节点,如果有,则将其移到前面(通过将其重新插入DOM)

也, 它以另一种方式被打断了

我想制作这个演示的人已经知道了,因为
mouseover
中的
if(current)
块在澳大利亚的例子中修复了它。但是,您添加的缩放和笔划宽度动画基本上也需要在此处重置

如果将该
If(当前)
块替换为以下内容,则该块应能正常工作:

if (current && current != departement) {
    fra[current].animate({
        fill: "#333",
        stroke: "#666",
        "stroke-width": 1
    }, 500);
    fra[current].scale(1,1)
    document.getElementById(current).style.display = "";
}

它看起来奇怪的原因是,通过向元素添加链接,Raphael将
元素(定义départe形状)包装在
中。但是它的
toFront()
方法仍然适用于
,因此现在只需将它推到
的前面,而不是整个départ集合的前面。换句话说,
.toFront()
不再工作

事实上,这在我看来就像拉斐尔的一只虫子。我不知道如何修复它,除了用一个函数替换您正在使用的
.toFront()
的每一个引用之外,该函数检查节点是否有
父节点,如果有,则将其移到前面(通过将其重新插入DOM)

也, 它以另一种方式被打断了

我想制作这个演示的人已经知道了,因为
mouseover
中的
if(current)
块在澳大利亚的例子中修复了它。但是,您添加的缩放和笔划宽度动画基本上也需要在此处重置

如果将该
If(当前)
块替换为以下内容,则该块应能正常工作:

if (current && current != departement) {
    fra[current].animate({
        fill: "#333",
        stroke: "#666",
        "stroke-width": 1
    }, 500);
    fra[current].scale(1,1)
    document.getElementById(current).style.display = "";
}

谢谢你的回答。我想,在一些帮助下,我设法修复了它。你可能想帮我检查一下这个。。。不过IE还有一个问题。我已经更新了我的答案,修正了这个问题。非常感谢墨卡托。如果你想看的话,我更新了演示。谢谢你的回答。我想,在一些帮助下,我设法修复了它。你可能想帮我检查一下这个。。。不过IE还有一个问题。我已经更新了我的答案,修正了这个问题。非常感谢墨卡托。如果你想看的话,我更新了演示。