ramjet是一款可以实现DOM元素平滑过渡变形动画特效的js插件。该js插件可以从一个HTML DOM元素变形为另一种状态的DOM元素,在DOM元素变形的过程中会使用补间动画实现平滑过渡的动画效果。
Ramjet在视觉效果上像是DOM元素从一个状态变形为另一个状态。实际上它是使用克隆技术,通过复制元素及其子元素,改变第二个元素(目标元素)使它和第一个元素完全重叠起来,然后使两个元素一起动画直到第一个元素和第二个元素的大小和位置相同。
使用该变形动画插件先要引入ramjet.js
文件。
<script src='ramjet.js'></script>
可以使用任意两个DOM元素来制作它们之间的变形过渡动画,例如使用两个<div>
元素:
<div id='a' style='background-color: red; font-size: 4em; padding: 1em;'>a</div> <div id='b' style='background-color: blue; font-size: 4em; padding: 1em;'>b</div>
在页面加载之后,使用下面的方法来调用这两个<div>
元素的变形动画。
<script> // to repeat, run this from the console! ramjet.transform( a, b ); </script>
下面是在ISO 8上使用该插件的效果。
在现代浏览器中,动画的过渡效果使用CSS3来实现。
requestAnimationFrame
或setTimeout
)。该选项设置为true
可以使插件一直使用基于定时器的动画。该方法可以方便的将各个节点的透明度设置为0。
该方法和ramjet.hide
相反。
一些easing动画效果。
该插件已在下面的浏览器中进行了测试:
关于该插件的更多详细信息请参考:https://github.com/rich-harris/ramjet