为什么我的 Raphael.js 圆形对象没有得到它的“attr”?改变动画&没有将 jQuery HandlerOut 事件对象应用于它?

发布于 2024-09-14 07:05:09 字数 723 浏览 4 评论 0原文

我创建了一个 #logo DIV,它由一个较小的 #circle DIV 和一个较小的 #circle DIV 组成。 h1#circle 充当我的 Raphael.js 对象(一个圆圈)在其中渲染的 DIV/画布。我的目标是当用户将鼠标悬停在 #logo DIV Raphael.js 圆和 h1 将变得动画,但我遇到了一些问题。

  • 由于某种原因,我的 Raphael.js 圆对象在 jQuery .hover() handlerIn 期间没有获得其 .attr() 方法动画> 鼠标事件。变化立即发生。

  • 此外,在 handlerOut 事件期间,Raphael.js 循环根本不会应用其 .attr() 方法。它只保留在 handerIn 事件期间应用于它的 .attr() 属性

我的此问题示例位于此处。您可以单击该页面的预览(右上角)来查看正在运行的代码。

I have created a #logo DIV that consists of a smaller #circle DIV & h1. The #circle acts as the DIV/canvas that my Raphael.js object, a circle, is rendered in. My goal was to make it so when a user hovers over the #logo DIV the Raphael.js circle and h1 will get animated but I ran into some problems.

  • For some reason my Raphael.js circle object is not getting it's .attr() method animated during a jQuery .hover() handlerIn mouse event. The change just happens immediately.

  • Additionally, during the handlerOut event, the Raphael.js circle does not get its .attr() method applied to it at all. It just keeps the .attr() attributes that were applied to it during the handerIn event

The code to my example of this issue is located here. You can click preview (top right) at that page to see the code in action.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

捂风挽笑 2024-09-21 07:05:09
$(c.node).animate({fill: "#666"}, 2000);

这是 jQuery 动画。显然 jQuery 对 Raphaël 对象一无所知。使用 Raphaël 动画代替:

c.animate({fill: "#666"}, 2000);

一般建议不要触摸节点属性,除非您真的知道自己在做什么。

$(c.node).animate({fill: "#666"}, 2000);

This is jQuery animation. Obviously jQuery has no idea about Raphaël objects. Use Raphaël animation instead:

c.animate({fill: "#666"}, 2000);

General advice don’t touch node property unless you really really know what you doing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文