jequry_rotate.js用来写旋转类的东西的插件(如:抽奖转盘)
2016-05-27 14:36
441 查看
网上发现一个很有意思的jQuery旋转插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。
调用和方法:
rotate(angle)
angle参数:[Number] – 默认为 0 – 根据给定的角度旋转图片
例如:
rotate(parameters)
parameters参数:[Object] 包含旋转参数的对象。支持的属性:
angle属性:[Number] – default 0 – 旋转的角度数,并且立即执行例如:
bind属性:[Object] 对象,包含绑定到一个旋转对象的事件。事件内部的$(this)指向旋转对象-这样你可以在内部链式调用- $(this).rotate(…)。例如 (click on arrow):
animateTo属性:[Number] – default 0 – 从当前角度值动画旋转到给定的角度值 (或给定的角度参数)例如: 结合上面的例子,请参阅使用。
duration属性:[Number] – 指定使用animateTo的动画执行持续时间例如 (click on arrow):
step属性:[Function] – 每个动画步骤中执行的回调函数,当前角度值作为该函数的第一个参数
easing属性:[Function] – 默认 (see below) – Easing function used to make animation look more natural. It takes five parameters (x,t,b,c,d) to support easing from http://gsgd.co.uk/sandbox/jquery/easing/ (for more details please see documentation at their website). Remember to include easing plugin before using it in jQueryRotate!Default function:
Where:t: current time,
b: begInnIng value,
c: change In value,
d: duration,
x: unused
No easing (linear easing):
Example (click on arrow):
callback属性:[Function] 动画完成时执行的回调函数例如 (click on arrow):
getRotateAngle
这个函数只是简单地返回旋转对象当前的角度。
例如:
stopRotate
这个函数只是简单地停止正在进行的旋转动画。
例如:
调用和方法:
rotate(angle)
angle参数:[Number] – 默认为 0 – 根据给定的角度旋转图片
例如:
1 | $("#img").rotate(45); |
parameters参数:[Object] 包含旋转参数的对象。支持的属性:
angle属性:[Number] – default 0 – 旋转的角度数,并且立即执行例如:
1 | $("#img").rotate({angle:45}); |
1 2 3 4 5 6 7 8 9 10 | $("#img").rotate({ bind: { click: function () { $(this).rotate({ angle: 0, animateTo: 180 }) } } }); |
duration属性:[Number] – 指定使用animateTo的动画执行持续时间例如 (click on arrow):
1 2 3 4 5 6 7 8 9 10 | $("#img").rotate({ bind: { click: function () { $(this).rotate({ duration: 6000, angle: 0, animateTo: 100 }) } } }); |
easing属性:[Function] – 默认 (see below) – Easing function used to make animation look more natural. It takes five parameters (x,t,b,c,d) to support easing from http://gsgd.co.uk/sandbox/jquery/easing/ (for more details please see documentation at their website). Remember to include easing plugin before using it in jQueryRotate!Default function:
1 | function (x, t, b, c, d) { return -c * ((t=t/d-1)*t*t*t - 1) + b; } |
b: begInnIng value,
c: change In value,
d: duration,
x: unused
No easing (linear easing):
1 | function(x, t, b, c, d) { return (t/d)*c ; } |
1 2 3 4 5 6 7 8 9 10 | $("#img").rotate({bind: { click: function () { $(this).rotate({ angle: 0, animateTo: 180, easing: $.easing.easeInOutElastic }) } } }); |
1 2 3 4 5 6 7 8 9 10 | $("#img").rotate({bind: { click: function () { $(this).rotate({ angle: 0, animateTo: 180, callback: function () { alert(1) } }) } } }); |
这个函数只是简单地返回旋转对象当前的角度。
例如:
1 2 3 4 5 6 7 8 | $("#img").rotate({ angle: 45, bind: { click: function () { alert($(this).getRotateAngle()); } } }); |
这个函数只是简单地停止正在进行的旋转动画。
例如:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $("#img").rotate({ bind: { click: function () { $("#img").rotate({ angle: 0, animateTo: 180, duration: 6000 }); setTimeout(function () { $("#img").stopRotate(); }, 1000); } } }); |
相关文章推荐
- javascript入门学习笔记
- 利用 JavaScript 数据绑定实现一个简单的 MVVM 库
- 深入理解JavaScript事件冒泡
- JSP自定义标签库
- Universal JS module loader
- JavaScript Map的实现
- js组件在线编辑器插件、图表库插件、文件树插件
- JSP标签 <meta> 的作用
- JavaScript函数式编程
- 深入理解JS异步编程(一)
- JS新建MAP对象,并对其进行操作
- JSON的三种解析方式
- JS利用 Sea.js 实现模块化:拖拽、缩放及范围限制
- javascript 面向对象基础(一)对象组成及函数封装
- JS正则表达式
- json 理解,添加 删除 排序
- [Effective JavaScript 笔记]第20条:使用call方法自定义接收者来调用方法
- 读书时间《JavaScript高级程序设计》六:事件
- 学习 JavaScript 最难点之二 -- 理解closure(闭包)
- JavaScript之正则表达式