Ответ 1
Один из способов сделать это - использовать тег div поверх бумаги Рафаэля. Затем используйте JQUery mousevents вместе с fadeIn() и fadeOut(). Я создал пример на jsFiddle. Посмотрите
Я занимаюсь педагогическим упражнением, превращая XML в SVG с помощью XSLT, Javascript и Raphael. Я уверен, что это трудный путь... но это образовательный.
Проблема, с которой я столкнулся, - создание всплывающих подсказок. До сих пор я нашел три способа сделать это:
.attr({title: "blah"{)
для объекта. Это работает, но официально не поддерживается Рафаэлем, и содержимое, которое я хочу добавить в подсказку, может быть несколько длинным, что является проблемой, когда люди OS выходят из всплывающей подсказки, прежде чем люди закончили читать ее.Итак, что я хотел бы знать, какой простой и надежный способ добавить всплывающие подсказки к объектам Рафаэля, чтобы они всплывали, когда люди наводили на объект объект и исчезали, когда они нажимали (но не раньше)?
Один из способов сделать это - использовать тег div поверх бумаги Рафаэля. Затем используйте JQUery mousevents вместе с fadeIn() и fadeOut(). Я создал пример на jsFiddle. Посмотрите
Если вы используете атрибуты [title], он будет обертывать элементы ссылками, упрощающими использование плагинов подсказок, таких как qtip.
var R = Raphael('canvas', 100, 100);
R.path(path).attr({ title: 'Fancy tooltip' });
$('#canvas a').qtip();
В случае, если кто-то будет искать пример всплывающей подсказки по диаграммам Рапаэля (я думаю, его можно было бы легко использовать с простым Rapahel). Я сделал тот, который использует динамически созданный div (, поэтому нет необходимости в плагине для третьей части), который выступает в качестве инструментальной панели по круговой диаграмме
Интерактивная круговая диаграмма с подсказкой
Он использует mousemove и mouseout для raphael...
b.t.w Я использую легенду как источник всплывающей подсказки - конечно, ее не обязательный а может быть заменен любым другим текстом (просто замените this.label[1].attrs.text
на какой-то другой текст)
Я использовал qtip для добавления всплывающих подсказок: