1

ラファエルで円グラフを描いたので、円グラフのセグメントにカーソルを合わせるとラファエルのテキストを表示するツールチップを作成しようとしています。イベント ハンドラーのホバーは正常に動作しますが、ツールチップ テキストの座標をカーソル座標と一致するように変更することはできません。こちらのコードをご覧ください:

http://jsfiddle.net/p7U2K/1/

私はもう試した

posx = e.pageX - $(document).scrollLeft() - $('#holder').offset().left;

私のx座標ですが、未定義として戻ってきます。私は何を間違っていますか?

ご協力いただきありがとうございます!

4

1 に答える 1

2

私はあなたが間違っているいくつかのことを指摘することができます:

  • e.hoverコールバックに渡していないため、は未定義です
  • $スクリプトにjqueryをロードしていないため、も未定義です。しかし、あなたはそれを必要としません。e.offsetX親要素に対する相対位置を与えるを使用できます。これらのスクロールオフセットは必要ありません。

    posx = e.offsetX;

  • アニメーション機能により、ラベルを描画した直後に非表示になります

  • ホバーイベントごとに新しいラベルを作成します。これにより、キャンバスが要素で即座に詰まります(を介して要素を非表示にした場合でもopacity)。これを見て、私が何を意味するかを確認してください:http: //jsfiddle.net/mihaifm/wdzPG/5/
于 2012-04-25T12:16:15.220 に答える