码迷,mamicode.com
首页 > Web开发 > 详细

可视化CSS3动画代码生成js库插件-Bounce.js

时间:2015-09-10 11:19:09      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

简要教程
  Bounce.js是一款功能非常强大的可视化CSS3动画代码生成js库插件。该js库插件提供了一个在线APP,通过该APP可以在可视化的条件下编辑CSS3的各种动画效果,如移动、旋转、倾斜、easing等效果,编辑完成后可以直接获取该CSS3帧动画的代码,复制代码到你的页面中即可在你的页面上获得与该动画一样的效果。此外,你也可以单独使用Bounce.js,通过js代码来完成各种CSS3动画效果。Bounce.js能与jQuery完美结合。

技术分享

查看演示     下载插件

  安装
  可以通过Bower 或 NPM来安装Bounce.js。

  1. $ bower install bounce.js 

  2. # OR

  3. $ npm install bounce.js

复制代码


  使用方法
  要使用bounce.js来创建CSS3动画,首先要创建一个Bounce对象。

  1. var bounce = new Bounce();

复制代码


  制作CSS3动画前必须先创建Bounce对象,然后使用该对象来添加各种动画组件:scale、rotate、translate和skew。你可以为CSS3动画定义一个名称,或者直接在该对象上应用页面上的某个元素。

  添加CSS3动画组件

  scale
  如上面所说的,你要使用scale、rotate、translate或skew方法来创建动画。所用这些方法都接收一定数量的参数,如from和to参数定义动画元素的开始和结束位置。所用这些方法都是可以链式编程的。

  1. var bounce = new Bounce();

  2. bounce.scale({

  3.   from: { x: 0.5, y: 0.5 },

  4.   to: { x: 1, y: 1 }

  5. });   

复制代码


  上面代码中的from和to参数定义了元素在X轴(宽度)和Y轴(高度)上scale的比例。这个例子使元素从50%的大小变化到100%的大小。点击这里查看这个demo

  rotate

  1. var bounce = new Bounce();

  2. bounce.rotate({

  3.   from: 0,

  4.   to: 90

  5. });      

复制代码

  上面代码中的from和to参数定义了元素旋转的度数。点击这里查看这个demo

  translate

  1. var bounce = new Bounce();

  2. bounce.translate({

  3.   from: { x: 0, y: 0 },

  4.   to: { x: 100, y: 0 }

  5. });     

复制代码

  上面代码中的from和to参数定义了元素在X轴和Y轴上移动的距离(单位像素)。上面的例子将元素向右移动100像素。点击这里查看这个demo

  skew

  1. var bounce = new Bounce();

  2. bounce.skew({

  3.   from: { x: 0, y: 0 },

  4.   to: { x: 20, y: 0 }

  5. });      

复制代码

  上面代码中的from和to参数定义了元素在X轴和Y轴倾斜的度数。上面的例子在X轴上倾斜20度。点击这里查看这个demo

  通用参数
  上面的所以方法都可以使用下面的参数:

  •   duration:CSS3动画的持续时间,单位毫秒,默认值1000。

  •   delay:CSS3动画的延迟时间,单位毫秒,默认值0。

  •   easing:easing效果。可选值有:"bounce", "sway", "hardbounce", "hardsway",默认值为:bounce。

  •   bounces:The number of bounces in the animation. Defaults to 4.

  •   stiffness:动画反弹的硬度。值必须在1-5之间,默认值3。


  应用举例
  当你使用Bounce.js来制作CSS3动画的时候,你可以选择创建帧动画,或者直接将动画应用到网页元素上。

  define

  1. var bounce = new Bounce();

  2. bounce.rotate({

  3.   from: 0,

  4.   to: 90

  5. });

  6. bounce.define("my-animation");      

复制代码

  通过给定的名称来定义一个CSS3帧动画。你可以在CSS文件中使用animation: my-animation 1s linear both;来应用这个动画效果。

  applyTo

  1. var bounce = new Bounce();

  2. bounce.rotate({

  3.   from: 0,

  4.   to: 90

  5. });

  6. bounce.applyTo(document.querySelectorAll(".animation-target"));

  7. // or with jQuery: bounce.applyTo($(".animation-target"));      

复制代码


  你也可以将动画效果直接应用到单个或一组元素上。使用这个方法还能接受下面的参数:

  •   loop:如果该参数设置为true则动画无限循环。默认值为false。

  •   remove:当动画结束后就移除该动画。如果动画的接受状态和开始状态不一样,那么元素在某些浏览器上会回到它的初始状态。默认值为false。

  •   onComplete:在动画结束后的回调函数。


  如果你使用jQuery,该方法将返回一个promise,它可以在onComplete的参数上使用:

  1. bounce.applyTo($(".animation-target")).then(function() { 

  2.   console.log("Animation Complete"); 

  3. });      

复制代码


  Remove
  你也可以手动移除一个Bounce动画。

  1. bounce.remove()     

复制代码


  综合应用
  下面是一个综合应用的例子,点击这里查看这个demo

  1. var bounce = new Bounce();

  2. bounce

  3.   .translate({

  4.     from: { x: -300, y: 0 },

  5.     to: { x: 0, y: 0 },

  6.     duration: 600,

  7.     stiffness: 4

  8.   })

  9.   .scale({

  10.     from: { x: 1, y: 1 },

  11.     to: { x: 0.1, y: 2.3 },

  12.     easing: "sway",

  13.     duration: 800,

  14.     delay: 65,

  15.     stiffness: 2

  16.   })

  17.   .scale({

  18.     from: { x: 1, y: 1},

  19.     to: { x: 3, y: 1 },

  20.     easing: "sway",

  21.     duration: 300,

  22.     delay: 30,

  23.   })

  24.   .applyTo(document.querySelectorAll(".animation-target"));     

复制代码


  浏览器支持
  你可以通过下面的方法来检测当前的浏览器是否支持Bounce生成的CSS3动画。

  1. Bounce.isSupported()      

复制代码

  Bounce js动画库可以在所有支持3D transforms和keyframe animations的浏览器上工作。

可视化CSS3动画代码生成js库插件-Bounce.js

标签:

原文地址:http://my.oschina.net/u/2345713/blog/504234

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!