使用 jQuery SVG 选择操作现有元素

发布于 2024-12-17 02:46:09 字数 619 浏览 1 评论 0原文

jQuery SVG 网站上的所有示例似乎都是为了在 JavaScript 中构建 SVG 对象并在其中构建新元素。它没有谈论太多关于操作现有标记的内容。

问题:

我有一个现有的 SVG 对象,其中的事件连接到 JavaScript 函数。我想使用 jQuery SVG 获取事件目标(在本例中为 SVG 路径元素)和 .animate() 。

但是,简单的 $(myElement).animate() 似乎不起作用。目前的问题似乎是 $(myElement) 不接受 SVG 对象参数或其他东西。

奇怪的是,动画完成回调似乎有效,但我尝试用它做的动画类型根本不起作用。

我不相信它能正确地将事件目标识别为 SVG

即使直接操作路径的属性似乎也不起作用(使用 .attr()),

我实际上知道 myElement 是一个有效的 SVG 路径,因为如果我使用 basic JS DOM 技术,例如使用 .setAttribute() 更改类,效果很好。

All of the examples on jQuery SVG's website seem to be geared toward building an SVG object in javascript and building new elements within it. It doesn't talk much about manipulating existing markup.

PROBLEM:

I have an existing SVG object with events wired up to javascript functions. I want to take the event target (in this case, an SVG Path element) and .animate() it using jQuery SVG.

However, simply $(myElement).animate() doesn't seem to work. The issue at hand seems to be that $(myElement) doesn't accept SVG objet arguments, or something.

Oddly the animate completion callback seems to work, but NO animation type I try to do with it works at all.

I'm not convinced it's properly recognizing the event target as an SVG <path>.

Even directly manipulating the attributes of the path don't seem to work (using .attr())

I know factually that myElement is a valid SVG path because if I use basic JS DOM techniques like changing the class with .setAttribute(), it works fine.

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

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

发布评论

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

评论(1

乖不如嘢 2024-12-24 02:46:09

也许这个可以帮助你: http://keith-wood.name/svgRef.html#support
仅取自此页面的示例:
$(shape).animate({svgFill: 'lightblue'}, 2000);

Probably this one could help you out: http://keith-wood.name/svgRef.html#support
Just an example taken from this page:
$(shape).animate({svgFill: 'lightblue'}, 2000);

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