Bounce.

bouncejs.com提供的工具支持生成静态关键帧, 不需要使用额外JavaScript代码, 如果想在你的应用程序中动态生成这些代码, 可以使用Bounce.

安装可以通过Bower或者NPM安装: $ bower install bounce.js 1 $ bower install bounce.js或者$ npm install bounce.js 1 $ npm install bounce.js你可以从Github上浏览和下载所有的发行版本。

使用方式要创建一个动画, 可以实例化一个名为Bounce的新对象:

var bounce = new Bounce();

1

var bounce = new Bounce();

首先使用Bounce对象缩放、 旋转、 平移和倾斜四种不同的组件来构建动画。

这样既可以定义成已命名的动画供以后使用, 或者直接在页面中使用这些元素。

添加动画组件正如刚才所提到, 你可以像使用Bounce.js工具那样调用scale( 缩放)、 rotate( 旋转)、 translate( 平移) 和skew( 倾斜) 方法创建自己的动画。

所有的这些方法都接受一些共同选项, from和to参数定义了动画的起始点。

请注意所有的这些方法都是链式调用。

scalevar bounce = new Bounce();

bounce.scale({

from: {

x:0.5,

y:0.5

},

to: {

x:1,

y:1

}

});

1 2 3 4 5

var bounce = new Bounce();

bounce.scale({

from: {

x:0.5,

y:0.5

},

to: {

x:1,

y:1

}

});

from和to参数定义了元素缩放X( 宽度) 和Y( 高度) 的比率。

上面的例子绘制了从半个到整个元素。

动画rotatevar bounce = new Bounce();

bounce.rotate({

from:0,

to:90

});

1 2 3 4 5

var bounce = new Bounce();

bounce.rotate({

from:0,

to:90

});

from和to参数定义了旋转的度数。

以上例子将元素向右旋转了90°。

动画translatevar bounce = new Bounce();

bounce.translate({

from: {

x:0,

y:0

},

to: {

x:100,

y:0

}

});

1 2 3 4 5

var bounce = new Bounce();

bounce.translate({

from: {

x:0,

y:0

},

to: {

x:100,

y:0

}

});

from和to参数定义了在X方向和Y方向平移的像素。

上面例子将元素向右移动100像素。

动画skewvar bounce = new Bounce();

bounce.skew({

from: {

x:0,

y:0

},

to: {

x:20,

y:0

}

});

1 2 3 4 5

var bounce = new Bounce();

bounce.skew({

from: {

x:0,

y:0

},

to: {

x:20,

y:0

}

});

from和to参数定义了元素在X和Y轴的倾斜度。

上面的例子中, 动画的倾斜度为在横轴向上20°。

动画常用动画参数所有方法都接受这些附加参数: 持续时间: 动画在中的持续时间( ms)。

默认为1000ms。

动画在中的持续时间( ms)。

默认为1000ms。

延迟: 动画延迟时间( ms)。

默认为0。

动画延迟时间( ms)。

默认为0。

缓冲: 像“ bounce”、“ sway”、“ hardbounce”、“ hardsway”。

这些都是相同工具中的“ 缓冲” 菜单。

默认为“ bounce”。

像“ bounce”、“ sway”、“ hardbounce”、“ hardsway”。

这些都是相同工具中的“ 缓冲” 菜单。

默认为“ bounce”。

跳动: 动画的跳动次数。

默认为4次。

动画的跳动次数。

默认为4次。

刚度( stiffness): 在动画中跳出的刚度值是在1到5之间。

默认值是3。

如何使用动画 一旦创建了动画, 可以选择把它定义成名为关键帧动画, 或者直接把它运用到DOM节点的任何一个元素。

define `var bounce = new Bounce(); bounce.rotate({ from: 0, to: 90 }); bounce.define(“my-animation”); 1 2 3 4 5 6 `

var bounce = new Bounce();

bounce.rotate({

from:0,

to:90

});

bounce.define(“my-animation”);

通过给定的名字来定义动画。

可以在你的

bounce.rotate({

from:0,

to:90

});

bounce.applyTo(document.querySelectorAll(“.animation-target”)); // or with

这种方法可以接受许多参数: 循环: 如果设置为true, 则无限循环动画。 默认是false。 如果设置为true, 则无限循环动画。 默认是false。 移除: 动画一旦完成就会被移除。 如果你的动画结束于一个不同于之前的元素状态, 那么该元素 在一些浏览器 中标返回它的原始状态。 默认值为false。 动画一旦完成就会被移除。 如果你的动画结束于一个不同于之前的元素状态, 那么该元素 中标返回它的原始状态。 默认值为false。 完成度: 动画完成后运行一个回掉函数。 如果你正在使用

console.log(“Animation Complete”);

});

1 2 3 4 bounce.applyTo($(“.animation-target”)).then(function () {

console.log(“Animation Complete”);

});

Remove即使动画定义了也可以手动移除: bounce.remove() 1 bounce.remove() 浏览器支持你可以通过如下方式来检查当前浏览器的支持度: Bounce.isSupported() 1 Bounce.isSupported() 运行类库需要浏览器同时支持3D旋转和关键帧动画。

完整示例这里有一个关于在工具中建立Splat动画预设并且把它运用到一个animation – target类的元素中。

var bounce = new Bounce();

bounce.translate({

from: {

x:-300,

y:0

},

to: {

x:0,

y:0

},

duration:600,

stiffness:4

}).scale({

from: {

x:1,

y:1

},

to: {

x:0.1,

y:2.3

},

easing:”sway”,

duration:800,

delay:65,

stiffness:2

}).scale({

from: {

x:1,

y:1

},

to: {

x:5,

y:1

},

easing:”sway”,

duration:300,

delay:30,

}).applyTo(document.querySelectorAll(“.animation-target”));

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

var bounce = new Bounce();

bounce.translate({

from: {

x:-300,

y:0

},

to: {

x:0,

y:0

},

duration:600,

stiffness:4

}).scale({

from: {

x:1,

y:1

},

to: {

x:0.1,

y:2.3

},

easing:”sway”,

duration:800,

delay:65,

stiffness:2

}).scale({

from: {

x:1,

y:1

},

to: {

x:5,

y:1

},

easing:”sway”,

duration:300,

delay:30,

}).applyTo(document.querySelectorAll(“.animation-target”));

开发如果你想在本地运行Bounce.js的网站并编写JavaScript类库, 可以克隆这个报告并且按照如下命令运行( 确定你已经安装了

观察变化, 自动编译的文件并刷新浏览器。

$ grunt serve 1 $ grunt serve运行测试$ grunt test 1 $ grunt test该Bounce对象是你第一次通过scale、 rotate、 translate和skew不同的组件来构建的动画。

这样既可以被定义成已命名的动画供以后使用, 也可以直接在页面中使用这些元素。

官方网站: http: //bouncejs.com

开源地址:https://github.com/tictail/bounce.js

关键帧动画html例子,Bounce.js 是一个漂亮的CSS3关键帧动画生成工具和类库_前端开发者...相关推荐

  1. html中各种js效果图,HTML+CSS+JS制作一个漂亮的橙子动态时钟

    HTML+CSS+JS制作一个漂亮的橙子动态时钟 1. 效果图: 2. 背景产生: 利用四块与圆同高的矩形转一定的角度将圆切分成八块形成橙子内里,利用径向渐变形成橙皮. background: rad ...

  2. html p5 绘制图片,p5.js入门教程和基本形状绘制_淋雪_前端开发者

    一.什么是p5. 最近接触了一门数字媒体艺术类的课程,名为Interactivity,教的是p5. 主讲老师就是开发者之一--还是挺激动的. p5.开发的Javascript库,可以看作是Proces ...

  3. JS实现仿新浪微博大厅和腾讯微博首页滚动效果_前端开发

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. 支持javascript的ppt软件_github重磅推荐!一个很好用的PPT生成工具

    介绍 reveal.js 是一个开放源代码HTML表示框架.它使使用Web浏览器的任何人都可以免费创建功能齐全且美观的演示文稿.查看现场演示. 该框架具有广泛的功能,包括嵌套幻灯片,Markdown支 ...

  5. d.ts文件可以注释html吗,如何编写一个d.ts文件的步骤详解_旧店_前端开发者

    前言 本文主要讲怎么写一个typescript的描述文件(以d.ts结尾的文件名,比如xxx.d.ts). 最近开始从 之前也从网上面也找了一些资料,但还是看的云里雾里模糊不清,经过一段摸索,将摸索的 ...

  6. layui自定义查询条件html页面,Layui的数据表格+springmvc实现搜索功能的例子_飛雲_前端开发者...

    如下所示: 主要在前端页面加: 搜索ID: userid content 搜索 在 reload:function () { var keyWord=$("#keyWord").v ...

  7. chrome vue.js插件文档_前端开发者必备的40个VSCode插件!

    前言:俗话说"君欲善其事,必先利其器."笔者也使用VScode开发有一段时间了,不得不说,VSCode是我目前用到的众多开发工具中最好使用的一款.当然这些功能大多得归功于VSCod ...

  8. css3扭蛋机,微信小程序 扭蛋抽奖机CSS3动画实现详解_咋地 _前端开发者

    前言 最近快速上线一个抽奖活动,又不想用canvas做,思考了很久,还是决定使用css3的动画来做,只要小球动得快,就没人发现我这些个小球的运动路径都是一样的了.先上动图 wxml文件: 这个做得我头 ...

  9. 表单中隐藏域的html代码是,JS中input表单隐藏域及其使用方法_心病_前端开发者...

    一.表单隐藏域 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式: <input ...

最新文章

  1. Python从入门到精通 - 什么是NumPy (下)
  2. ajax传递数组 php,jQuery.ajax向后台传递数组问题如何解决
  3. linux命令:系统裁剪之五dropbear嵌入式系统专用ssh服务
  4. leetcode43. 字符串相乘 经典大数+和*
  5. 反转dataframe
  6. 人工智能(3)---未来已来,如何成为一名人工智能产品经理
  7. javascript 函数的几种声明函数以及应用环境
  8. Linux mkdir 与 mkdir -p 的区别
  9. 将一副遥感影像裁剪为多幅图像
  10. Daily Scrum 10.23
  11. Android OTA升级
  12. 改ip 银河麒麟_PK体系银河麒麟云桌面和云平台
  13. 免费国外PHP+MYSQL空间申请
  14. 常用网站提交入口汇总让互联网收录你的网站
  15. Hive系列(三)实操
  16. Alpha冲刺——事后诸葛亮
  17. psu 计算机 排名,PSU计算机工程专业研究生排名必然得当心去考察
  18. 桌面窗口管理器(dwm.exe)占用高内存的解决方法
  19. 微信小程序和ESP32对接,实现手机远程控制灯的亮灭
  20. 【JavaSE】----- Java语言的介绍

热门文章

  1. Mac OS 错误代码 -8072的可行解决方法
  2. word 另存为xml后,读取xml的图片数据
  3. 【转】[你必须知道的.NET]第二十一回:认识全面的null
  4. 前端如何接收 websocket 发送过来的实时数据
  5. 网络开源框架之libev使用实例
  6. Flask实战2问答平台-完成登录注册功能
  7. Luogu P2580 于是他错误的点名开始了 Trie树 字典树
  8. 静态属性property的本质和应用
  9. Office365 Manager Plus之报表
  10. 分布式系统理论基础1: 一致性、2PC和3PC