问题标签 [snap.svg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
14067 浏览

svg - Snap SVG - 移动加载的元素

我正在尝试使用Snap SVG 库在屏幕周围移动 SVG 图形中的元素。这是元素的代码:

我想在屏幕上移动这个元素(例如,我想将它向上移动然后向左然后再次向下移动到初始位置),所以我首先创建一个画布并获取该元素。我使用这段代码:

有人有想法吗?

我找到了有关移动圆形或矩形的信息,它们具有易于修改的xycxcy等属性,但在我的情况下,我没有这些属性......

0 投票
1 回答
2512 浏览

javascript - 将 svg 动画捕捉到原始大小和位置

当用户将 baloon svg 悬停时,我想为 baloon svg 设置动画(使其更大)。
当用户悬停气球时,气球会恢复到原来的大小。

我用它来将它重置为原始大小和位置。

它适用于 chrome、firefox、safari。
但是当我在IE上尝试时,展开动画工作,但重置动画不起作用,它闪烁到没有动画的原始大小。

应该如何正确地将元素动画到原始大小和位置?

0 投票
1 回答
446 浏览

javascript - 通过 snap.svg 旋转加载的 svg 的 ID

我需要单独旋转的 svg 文件 ( http://traaidmark.com/etc/svg-title-circle.svg ) 中有三个圆圈组。我为每个圈子组分配了一个唯一的 ID。

我想使用 snap svg,到目前为止,我已经设法将 SVG 加载到我的容器中(#svg-title)。

这是我用来加载图像的 JS:

我面临的麻烦是动画圆圈。我尝试使用 css,但这被忽略了。我用谷歌搜索了自己的脸,并获得了一些信息,但我对此的经验很少,我不确定是否要应用它。snap 文档和示例无助于减轻我的困惑。

我怀疑,如果我只是得到一个对我有意义的起点,我就能弄清楚!

如果有人可以提供帮助,即使只是一个圈子,我将永远感激不尽。我已经按照我的理解给出了所有类和 ID 名称。

多谢你们!

0 投票
1 回答
1896 浏览

node.js - Snap.svg 可以仅在服务器端与 Node.js 一起使用吗?(不是通过浏览器)

我需要使用一些服务器端代码(例如使用 cron 作业)创建和操作一些 SVG,但我想知道是否可以在这种不包含在网页中的场景中使用 Snap.svg。

如果没有 Snap.svg 在浏览器中运行,这会起作用吗?

0 投票
1 回答
1034 浏览

javascript - 对父 g 元素应用变换后,子元素上的 Snap.svg 边界框未更新

代码笔: http ://codepen.io/anon/pen/dfIBv

我在 g 元素中有两个矩形,我在其上应用了变换。GetBBox 方法在变换前后显示相同的数字。

如果我直接在这些矩形上应用相同的变换,getBBox 方法会显示正确的测量值。

在将变换应用于父组元素后,有什么方法如何获得这些矩形的“正确”测量值?

谢谢!

0 投票
1 回答
587 浏览

javascript - 将 Snap.animation 传递给 Element.animate 时出现 Snap.svg 错误

这个小提琴显示了我面临的错误。这真的是一个错误还是我做错了什么?

在小提琴中,将两个圆圈悬停,白色的动画正确,黑色的消失,无限循环开始在控制台中引发错误。

0 投票
2 回答
1715 浏览

svg - SnapSVG 教程

我刚开始使用SnapSvg插件,但似乎该插件很少有教学资源,是否有任何Ebook或课程SnapSVG

0 投票
1 回答
2375 浏览

javascript - 如何在 AngularJS 中建模 Snap.svg 地图?

我正在为在线棋盘游戏制作网络界面。我想用Snap.load加载 Snap.svg 地图,即异步加载。

加载后,我想在范围的属性中添加一个手表,并根据属性(这是一个对象)为地图添加一些颜色。我的代码基本上是这样的:

现在,问题是我想将地图移动到它自己的“类”或文件中,但它必须以$scope某种方式知道,以便能够在加载后设置手表。

我的第一个天真的方法是提取地图并传入范围:

但我认为必须有一种更角度的方式来做到这一点。我应该做一个指令吗?还有什么建议吗?

0 投票
1 回答
3661 浏览

javascript - Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

对于一个项目,我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本(我已转换为路径)组成。我正在使用 Snap.svg 为我的形状设置动画。当我将鼠标悬停在我的多边形上时,该形状应该缩放到特定大小,包括其中的所有内容。在鼠标移出时,形状会缩小到其原始大小。

在这里你可以找到一个简化的例子:http: //jsfiddle.net/XwwwU/11/

我已经这样实现了:

SVG/HTML

JavaScript

这很好用,唯一的问题是悬停事件不仅在将鼠标移动到多边形上时触发,而且当它在我的多边形上的文本形状上方时第二次触发。由于我希望在用户将鼠标悬停在文本上时也缩放形状,因此如果在形状已经缩放时事件不会重新触发,则此行为会很好。像这样,当鼠标在文本上移动时动画会变得生涩,并在我的实际项目中导致更多问题。

像这样将组中的可悬停元素更改为多边形

让它变得更糟。虽然文本形状现在不再触发我的悬停功能,但当鼠标悬停在文本上时,我的多边形的悬停被放下,这也不是我想要的。

我想要实现的是文本对任何悬停动作完全不敏感,或者悬停事件不会在文本上重新触发,同时保持我的多边形的“悬停状态”。

我怎样才能做到这一点?

我很感激任何帮助。谢谢!

0 投票
1 回答
216 浏览

svg - 计算坐标系中第n个父级的bbox

给定一个 SVG 图形,例如..

我知道我可以在using#anchor的坐标系中得到边界框。#innergetBBox()

但是,我怎样才能得到#anchor坐标系中的边界框,比如说, #outer

也许使用像Raphaëlsnap.svg这样的库(我自己试过但失败了......)。