jQuery旋转插件—rotate

摘要:网上发现一个很有意思的jQuery旋转插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。

网上发现一个很有意思的jQuery旋转插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。调用和方法:

made-in-china (1).jpg

rotate(angle)angle参数:[Number] – 默认为 0 – 根据给定的角度旋转图片例如:1$(“#img”).rotate(45);

rotate(parameters)parameters参数:[Object] 包含旋转参数的对象。支持的属性:angle属性:[Number] – default 0 – 旋转的角度数,并且立即执行

例如:1$(“#img”).rotate({angle:45});

bind属性:[Object] 对象,包含绑定到一个旋转对象的事件。事件内部的$(this)指向旋转对象-这样你可以在内部链式调用- $(this).rotate(…)。例如 (click on arrow):01$(“#img”).rotate({bind:{

02

03click: function(){

04

05$(this).rotate({

06

07angle: 0,

08

09animateTo:180

10})

11}

12}

13});

animateTo属性:[Number] – default 0 – 从当前角度值动画旋转到给定的角度值 (或给定的角度参数)例如: 结合上面的例子,请参阅使用。

duration属性:[Number] – 指定使用animateTo的动画执行持续时间例如 (click on arrow):01$(“#img”).rotate({bind:{

02click: function(){

03$(this).rotate({

04duration:6000,

05angle: 0,

06animateTo:100

07})

08}

09}

10});

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:1function (x, t, b, c, d) { return -c * ((t=t/d-1)*t*t*t - 1) + b; }

Where:t: current time,

b: begInnIng value,

c: change In value,

d: duration,

x: unused

No easing (linear easing):1function(x, t, b, c, d) { return (t/d)*c ; }

Example (click on arrow):01$(“#img”).rotate({bind:{

02click: function(){

03$(this).rotate({

04angle: 0,

05animateTo:180,

06easing: $.easing.easeInOutElastic

07})

08}

09}

10});

callback属性:[Function] 动画完成时执行的回调函数例如 (click on arrow):01$(“#img”).rotate({bind:{

02

03click: function(){

04$(this).rotate({

05angle: 0,

06animateTo:180,

07callback: function(){ alert(1) }

08})

09}

10}

11});

getRotateAngle这个函数只是简单地返回旋转对象当前的角度。例如:1$(“#img”).rotate({

2angle: 45,

3bind: {

4click : function(){

5alert($(this).getRotateAngle());

6}

7}

8});

stopRotate这个函数只是简单地停止正在进行的旋转动画。例如:01$(“#img”).rotate({

02bind: {

03click: function(){

04$(“#img”).rotate({

05angle: 0,

06animateTo: 180,

07duration: 6000

08});

09setTimeout(function(){

10$(“#img”).stopRotate();

11}, 1000);

12}

13}

14});

用这个可以实现很多关于旋转的网页特效,我用这个做了个抽奖大转盘,效果不错,就是没flash顺畅,基本能跑哈哈。jqueryrotate项目地址:http://code.google.com/p/jqueryrotate/代码示例:http://code.google.com/p/jqueryrotate/wiki/Examples