Причина, по которой это выглядит странно, заключается в том, что, добавив ссылку на элемент, Рафаэль помещает элемент <path>
(который определяет форму отдела) в <a href="">
. Но его метод toFront()
по-прежнему работает на <path>
, так что теперь он просто толкает его к передней части <a>
, а не к передней части всего набора элементов. Другими словами, .toFront()
больше не работает.
Для меня это похоже на ошибку в Рафаэле. Я не уверен, как это исправить, кроме замены каждого вхождения .toFront()
, который вы используете, функцией, которая проверяет, есть ли у узла родительский элемент <a>
, и если это так, переместите на на передний план (вставив его в DOM).
Кроме того,
В IE он сломан по-другому.
Я думаю, что тот, кто сделал это демо, уже знал об этом, потому что блок if(current)
в mouseover
исправляет это на примере Австралии. Но анимация масштабирования и ширины обводки, которую вы добавили, также должна быть сброшена.
Если вы замените этот блок if(current)
на следующий, он должен работать:
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 = "";
}