JavaScript library enabling SVG icons to morph from one to the other. It implements Material Design’sDelightful Details transitions.
Add Script
Simply add the svg-morpheus.js script to your website/application. No other scripts are needed. Both the minified and uncompressed (for development) versions are in the /compile folder.
<script src="svg-morpheus.js"></script>
Usage
- Add an icon set SVG to the HTML file where you want to show the morphing icon.
- Create a SVG Morpheus instance for the icon set by calling
new SVGMorpheus(element)
.Object/IFrame/Inline SVG element containing the icon set. Can be a DOM element or a CSS query selector.. For example:
var myIcons = new SVGMorpheus('#myIconSet');
- After initializing, you get a SVGMorpheus object having
to(ID)
function. ID is an id of Icon in the icon set. Use it to morph the icon to another icon in the icon set.
myIcons.to('icon1');
Options
SVGMorpheus Constructor
var myIcons = new SVGMorpheus(element, options, callback);
element – Object/IFrame/SVG element containing an icon set. Can be a DOM element or a CSS query selector.
options – Optional. Object specifying default options.
options.iconId – Optional. Id of an icon shown after initialization. Default: last icon in the icon set.
options.duration – Optional. Set a default duration for transition animations, in msec. Default: 750.
options.easing – Optional. Set a default easing for transition animations. Default: quad-in-out.
options.rotation – Optional. Set a default rotation for icon shapes.
clock
= clockwise, counterclock
= counterclockwise, random
= randomly set clock/counterclock, none
= no rotation. Default: clock.
callback – Optional. Set a default callback function to call at the animation end.
SVGMorpheus.to()
myIcons.to(iconId, options, callback);
iconId – Id of an icon to transition to.
options – Optional. Object specifying the animation options.
options.duration – Optional. Set a duration for the animation, in msec.
options.easing – Optional. Set an easing for the animation.
options.rotation – Optional. Set a rotation for icon shapes.
clock
= clockwise, counterclock
= counterclockwise, random
= randomly set clock/counterclock, none
= no rotation.
callback – Optional. Set a callback function to call at the animation end.
Supported Easings
circ-in
, circ-out
, circ-in-out
, cubic-in
, cubic-out
, cubic-in-out
, elastic-in
, elastic-out
,elastic-in-out
, expo-in
, expo-out
, expo-in-out
, linear
, quad-in
, quad-out
, quad-in-out
,quart-in
, quart-out
, quart-in-out
, quint-in
, quint-out
, quint-in-out
, sine-in
, sine-out
,sine-in-out
Icon Set structure
SVG should have the following structure to be a valid icon set:
- 1st tier nodes are
<g>
elements having ‘id’ attribute. They define icons in the icon set. - 2nd tier nodes are shape elements (
<path>
,circle
,rect
,ellipse
,polygon
,line
). They define the icon graphics.
<svg>
<g id="icon1">
Shape elements
</g>
<g id="icon2">
Shape elements
</g>
</svg>
Example code
Check the Demos directory for examples.
Supported browsers
Chrome Firefox IE >= 10 Safari Opera iOS Safari Android Browser >= 4.4 Chrome for Android
No comments:
Post a Comment