使用Svg绘制形状,然后使用缓动/弹性等动画

时间:2012-05-06 22:52:04

标签: html5 svg

我正试图找出在网站上动画图形元素的最佳方法。

我看过html5画布,但看起来SVG是最合适的。

我会解释事情应该如何运作,也许你们可以发表意见。

在页面上,当用户选择箭头时,我想让我的产品滑入和滑出,一次只有一个产品在中心。当图像滑入和滑出时,我想要某种缓和。 SVG有不同的动画风格,如弹性等......?或者我应该使用jquery来制作动画?

接下来,每个产品都将包含一个将包含在形状中的描述。也许形状会随机绘制,所以我需要一个绘图api。我也想要这个容器的类似缓动,因为它会滑入。

我对svg如何与其他网络技术集成感到困惑。

编辑:

是否可以为svg多边形的点设置动画?

<svg id="svgelem2" height="190" xmlns="http://www.w3.org/2000/svg">
<polygon  points="0,0 800,0, 800,180 0,180 " fill="white" filter="url(#dropshadow)" />

3 个答案:

答案 0 :(得分:0)

您是否尝试过Raphael.js库?它允许您随意操作SVG。

http://raphaeljs.com/

答案 1 :(得分:0)

你可以使用javascript,但是在javascript之上,你需要操作DOM中的某些东西:直接HTML或SVG,或者包含在其中一个中的东西。

有几种流行的库是基于画布的(paper.jsprocessing.js)或基于SVG的(d3raphael)。我的理解是,如果您希望最终产品可用于尽可能多的平台(顶级浏览器的所有当前版本,顶级浏览器的最后三个版本以及占主导地位的移动设备) - 您需要坚持使用基于画布的库。并非所有浏览器都支持SVG,或者根本不支持SVG(当然,wikipedia has some good info :))。

如果你渲染SVG with paths(你可以用路径做多边形),动画肯定是可能的......我相信你可以用SVG多边形来做,但我找不到一个准备好的例子

就个人而言,我喜欢 d3.js但我明白它不会渲染/动画到画布 - 但是,paper.li和processing.js会渲染到画布或raphael到{{ 3}} ...所以,如果关注最广泛的受众,你可能会想那样。

此SVG VML可能对您做出决定有帮助/有用。

答案 2 :(得分:0)

听起来你想要这样的东西:http://svg-wow.org/photoAlbum/album.svg将鼠标放在底部的图像上,然后它们便于展开。