如何在画布上制作一个圆圈,当它的容器悬停时,圆圈的边框会增长几个px,还是建议?

时间:2011-07-27 16:53:47

标签: jquery animation canvas css3 raphael

http://jsfiddle.net/nicktheandroid/BcaW3/1/

我正在尝试创建一个jQuery示例的“简单”画布版本。当容器悬停在上面时,绝对定位的圆的边界从2px扩展到6px。我已经看到Canvas更顺畅了,它在ie9中工作,而css3过渡直到ie10(caniuse.com)才起作用。谁能指出我正确的方向?还是引导我一个简单的例子,我可以试着去欺骗?或者只是给我一些帮助来创造这样的东西?非常感谢任何帮助。

我已经研究过使用Raphael在制作动画时让它变得漂亮和平滑,但对于如此小的效果来说,这是一个很大的重量。

Jquery有一些动画问题,我的例子看起来有点像素化。我不是一定要修复我的例子(除非它立刻完成了所有的动画,而不是它现在正在做的事情,而且它看起来并不那么糟糕),Canvas看起来好像圆圈和动画只是看起来更顺畅。我也试图在边界增长时产生弹性效果,但是当它缩小时(如果可能的话)。我不知道这与Canvas有多难,或者是否会提出另一种方式。非常感谢你。

1 个答案:

答案 0 :(得分:1)

两件事。第一个jQuery并不完全支持动画速记值。因此,当您为“borderWidth”设置动画时,需要单独设置4个边的动画(Source)

  

速记CSS属性(例如边距,背景,边框)不是   支持的。例如,如果要检索渲染边距,   使用:$(elem).css('marginTop')和$(elem).css('marginRight')等等   上。

其次,我会在元素的margin上使用position

顺便说一句,请查看我的old question以获得具有边框动画的圆角元素的另一种解决方案,可能适合您需要的更多(因为您无需绘制圆圈)。那里有更详细的解释。

检查update fiddle是否有正确的效果。

祝你好运。