XSLT、Javascript、Raphaelを使用してXMLをSVGに変換するという、少し教育的な演習を行っています。それは難しい方法だと確信しています...しかしそれは教育的です。
私が遭遇した問題は、ツールチップの作成です。これまでのところ、これを行う3つの方法を見つけました。
.attr({title: "blah"{)
を使用することです。これは機能しますが、Raphaelによって正式にサポートされておらず、ツールチップに入れたいコンテンツが多少長くなる可能性があります。これは、ユーザーのOSがツールチップを読み終える前にタイムアウトする場合に問題になります。だから、私が知りたいのは、ツールチップをRaphaelオブジェクトに追加して、ユーザーがオブジェクトの上にマウスを置くとポップアップし、マウスアウトすると消える(前ではない)ようにする簡単で信頼できる方法は何ですか?
これを行う1つの方法は、Raphael用紙の上にdivタグを使用することです。次に、fadeIn()およびfadeOut()とともにJqueryマウスベントを使用します。 jsFiddleで例を作成しました。 ご覧ください
[title]属性を使用すると、要素がリンクでラップされ、 qtip などのツールチッププラグインを簡単に使用できるようになります。
var R = Raphael('canvas', 100, 100);
R.path(path).attr({ title: 'Fancy tooltip' });
$('#canvas a').qtip();
誰かがgRapahelチャートのツールチップの例を探す場合に備えて(プレーンなRapahelでも簡単に使用できると思います)動的に作成されたdiv(を使用するため、サードパートのツールチップはありません)円グラフのツールチップとして機能するプラグインが必要です)
それはラファエルのmousemoveとmouseoutを使用しています...
b.t.wツールチップのソースとして凡例を使用します-もちろん、他のテキストに置き換える必要はありません(this.label[1].attrs.text
を他のテキストに置き換えるだけです)
Qtipを使用してツールチップを追加しました。