jquery动画切换引擎插件 Velocity.js 学习01
一、Velocity.js介绍
Velocity是一个jQuery插件,重新实现了$.animate() 来产生更高的性能(速度也比CSS动画库更快),而包括新的功能,以提高动画工作流程。
Velocity.js只有7k的大小,它不仅包含了$.animate()
的所有功能,并且还包含了颜色切换、转换(transform)、循环、缓动、CSS切换、Scroll功能,它是jQuery、 jQuery UI、CSS变换在动画方面的最佳组合。
Velocity.js支持IE8+、Chrome、Firefox等浏览器,并支持Andriod以及IOS。
Velocity.js在内部实现中使用了jQuery的$.queue()
方法,因此它比 jQuery的$.animate()
、$.fade()
、$.delay()
方法更加流畅,其性能也高于CSS的animation属性。
二、项目主页
http://julian.com/research/velocity/
下载:http://www.jqcool.net/localdown/201503/jqcool.net-velocity.zip
三、使用
3.1 Velocity.js包含两个输入参数,第一个参数 为 CSS属性,第二个参数为可选参数,为 velocity 配置选项。具体如下:
- $("div").velocity({
- property1: value1,
- property2: value2
- }, {
- /* Default options */
- duration: 400,
- easing: "swing",
- queue: "",
- complete: null,
- loop: false,
- delay: false,
- display: false,
- mobileHA: true
- });
Velocity.js同样支持jQuery的参数简写语法:$element.velocity(propertyMap [, duration] [, easing] [, complete]):
,比如:
- $("div").velocity({ left: 100 }, 1000);
- $("div").velocity({ left: 100 }, 1000, "swing");
- $("div").velocity({ left: 100 }, "swing");
3.2 制作动画序列的三种方式
- 统一HTML代码:
- <div class="div1"></div>
- <div class="div2"></div>
- 统一CSS样式:
- .div1{ width: 120px; height: 120px; background-color: red;}
- .div2{ width: 120px; height: 120px; background-color: blue; margin-top: 20px;}
- 动画序列方式一:
- (function($){
- // 方式一:
- $('.div1').velocity(
{- width:'400px'
- },
{- duration:600,
- complete:function(){ //队列
- $('.div2').velocity({
- width:'400px'
- },{
- duration:600
- })
- }
- })
- })(jQuery)
- 动画序列方式二:
- (function($){
// 方式二:- $('.div1').velocity(
{- width:'400px'
- },{
- duration:600
- })
- $('.div2').velocity(
{- width:'400px'
- },{
- duration:600,
- delay:600
- })
- })(jQuery)
- 动画序列方式三(推荐使用)
- (function($){
- // 方式三:
- var seq = [
- {
- elements:$('.div1'),
- properties:{ width:'500px'},
- options:{ duration:600}
- },
- {
- elements:$('.div2'),
- properties:{ width:'500px'},
- options:{ duration:600}
- }
- ];
- $.Velocity.RunSequence(seq);
- })(jQuery)
3.3 预定义动画
- (function($){
- //预定义动画
- $('.div1').on('mouseover',function(){
- $(this).velocity('callout.shake') //官网定义了很多预定义动画:callout.bounce、callout.pulse、callout.swing等
- });
- //定义自己的动画效果(RegisterEffect或者RegisterUI)
- $.Velocity.RegisterEffect('mycall.scalex',{
- defaultDuration:300,
- calls:[
- [{ scaleX : 1.2 },0.5], //[ { property : value }, durationPercentage, {options} ]
- [{ scaleX : 1.0 },0.5]
- ]
- })
//调用自定义动画- $('.div2').on('mouseover',function(){
- $(this).velocity('mycall.scalex')
- })
- })(jQuery)
参考:http://www.infoq.com/cn/news/2014/05/jquery-velocity-js
jquery动画切换引擎插件 Velocity.js 学习01的更多相关文章
- jquery动画切换引擎插件 Velocity.js 学习02
案例实践: 第一页会以动画形式进入页面: 点击进入按钮时,第一页以动画消失,第二页以动画形式进入,同时四张图片也定义从小到大的动画形式: 第二页关闭按钮点击时,先是四张图片以缩小动画消失,然后第二页以 ...
- jQuery动画切换引擎插件Velocity.js
Velocity.js 官网 Velocity.js实现弹出式相框 慕课网 极棒的jquery动画切换引擎插件Velocity.js jQ库 (function($){ // 普通调用 /*$('#d ...
- 分享JQuery动画插件Velocity.js的六种列表加载特效
分享JQuery动画插件Velocity.js的六种列表加载特效.在这款实例中给中六种不同的列表加载效果.分别为从上飞入.从右侧飞入.从左侧飞入.和渐显.一起看下效果图: 在线预览 源码下载 实现 ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- jQuery全屏滚动插件fullPage.js中文帮助文档API
jQuery全屏滚动插件fullPage.js中文帮助文档API 发现了一个fullPage.js插件,于是百度了一下,还就是这个插件的作用,其实有很多网站都做了全屏滚动的特效,效果也很好看,今天 ...
- jQuery字体缩放缩放插件zoomFontSize.js
插件描述:jQuery字体缩放缩放插件zoomFontSize.js根据父类进行百分比缩放,兼容性如下: 使用方法 body 的class属性 添加 changbody_fontSize 而且整个页面 ...
- 10款好用的 jQuery 图片切换效果插件
jQuery 是一个非常优秀的 Javascript 框架,使用简单灵活,同时还有许多成熟的插件可供选择.其中,最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入一些让人惊叹的效 ...
- JQuery动画插件Velocity.js发布:更快的动画切换速度
5月3日,Julian在其GitHub上发布了Velocity.js.Velocity.js是一款动画切换的jQuery插件,它重新实现了jQuery的$.animate()方法从而加快动画切换的速度 ...
- javascript动画:velocity.js学习
第二章:基础知识 一.velocity和jQuery: Velocity函数是独立于jQuery的,但两者可以结合使用.通常这么做的好处是可以利用jQuery的链式操作:当你先用jQuery选择了一个 ...
随机推荐
- Python3 Tkinter-Grid
1.创建 from tkinter import * root=Tk() lb1=Label(root,text='Hello') lb2=Label(root,text='Grid') lb1.gr ...
- Python3 Tkinter-Place
1.绝对坐标 from tkinter import * root=Tk() lb=Label(root,text='hello Place') lb.place(x=0,y=0,anchor=NW) ...
- Ubuntu 配置 Android 开发 环境
. 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article ...
- Android之Bluetooth编程
Android Bluetopth 编程大牛文章 http://my.oschina.net/u/994235/blog?catalog=313604 ViewGroup 相关资料 : http:// ...
- iOS开发UIApplication用法
1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果 ...
- TCP协议详解7层和4层解析(美团,阿里) 尤其是三次握手,四次挥手 具体发送的报文和状态都要掌握
如果想了解HTTP的协议结构,原理,post,get的区别(阿里面试题目),请参考:HTTP协议 结构,get post 区别(阿里面试) 这里有个大白话的解说,可以参考:TCP/IP协议三次握手和四 ...
- 第28天:js-Tab栏切换封装函数
一.input.value所有值都是string 二.变量和属性var index=10;//变量var arr=[];//数组arr.index=20;//index为自定义属性,只能在arr下使用 ...
- 可持久化Treap
终于写了一次可持久化Treap,做的是可持久化序列的模板题. Treap Treap=Tree+Heap,是一个随机化的数据结构.它的每个节点至少有两个关键字,一个是我们要存储的\(val\),一个是 ...
- BZOJ 1834 网络扩容(最大流+费用流)
对于第一问,直接求最大流. 对于第二问,建源点s和汇点t,s连1容量为INF,费用为0的边,n连t容量为最大流+k,费用为0的边.这样就把最大流限制为最多增加k了. 限制需要求扩充的最小费用,原图的边 ...
- Dom选择器以及内容文本操作
1. DOM:文档对象模型.把整个HTML当做大的对象.每一个标签认为是一个对象.(每一个个体就是一个对象) 2. 查找: 直接查找 var obj=document.getElementById(& ...