【问题标题】:Tooltip over a Raphael animation - Why won't it work?拉斐尔动画的工具提示 - 为什么它不起作用?
【发布时间】:2012-04-25 20:16:15
【问题描述】:

所以我有一个用 Raphael 绘制的饼图,我正在尝试创建一个工具提示,当我将鼠标悬停在饼图的一段上时显示 Raphael 文本。事件处理程序悬停工作正常,但我无法更改工具提示文本的坐标以匹配光标坐标。请看这里的代码:

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

我试过了

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

对于我的 x 坐标,但它以未定义的形式返回。我做错了什么?

感谢您的帮助!

【问题讨论】:

标签: javascript jquery animation tooltip raphael


【解决方案1】:

我可以指出你做错的几件事:

  • e 未定义,因为您没有将其传递给 .hover 回调
  • $ 也未定义,因为您没有在脚本中加载 jquery。但你不需要它。您可以使用e.offsetX,它为您提供与父元素的相对位置。你不需要那些滚动偏移:

    posx = e.offsetX;

  • 由于动画功能,您在绘制标签后立即隐藏标签

  • 您正在为每个悬停事件创建一个新标签。这将立即用元素堵塞您的画布(即使您通过opacity 隐藏它们)。看看这个,看看我的意思: http://jsfiddle.net/mihaifm/wdzPG/5/

【讨论】:

  • 感谢您的帮助,到目前为止,这是一个非常有启发性的过程
  • 悬停时有没有办法破坏标签?
  • 是的,只需添加一个mouseout 事件并调用this.label.remove
  • 点击事件不起作用。工具提示似乎工作正常。我该怎么办
  • @shiba 我不明白你的意思,你最好问一个新问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 2015-12-04
  • 2015-09-08
相关资源
最近更新 更多