网上发现一个很有意思的jQuery旋转插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。
调用和方法:
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:{0203click:function(){0405$(this).rotate({0607angle: 0,0809animateTo:18010})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:10007})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; }1function(x, t, b, c, d) {return(t/d)*c ; }01$("#img").rotate({bind:{02click:function(){03$(this).rotate({04angle: 0,05animateTo:180,06easing: $.easing.easeInOutElastic07})08}