本站公告: 暂无公告....

jQuery旋转插件—rotate

工具下载 兰亭楼 0评论 582浏览
网上发现一个很有意思的jQuery旋转插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。 调用和方法: rotate(angle) angle参数:[Number] – 默认为 0 – 根据给定的角度旋转图片 例如: [css]$("#img").rotate(45);[/css] rotate(parameters) parameters参数:[Object] 包含旋转参数的对象。支持的属性:
  • angle属性:[Number] – default 0 – 旋转的角度数,并且立即执行
例如: [css]$("#img").rotate({angle:45});[/css]
  • bind属性:[Object] 对象,包含绑定到一个旋转对象的事件。事件内部的$(this)指向旋转对象-这样你可以在内部链式调用- $(this).rotate(…)。例如 (click on arrow): [css] $("#img").rotate({bind:{ click: function(){ $(this).rotate({ angle: 0, animateTo:180 }) } } }); [/css]
  • animateTo属性:[Number] – default 0 – 从当前角度值动画旋转到给定的角度值 (或给定的角度参数)例如: 结合上面的例子,请参阅使用。
  • duration属性:[Number] – 指定使用animateTo的动画执行持续时间例如 (click on arrow): [code lang="js"] $("#img").rotate({bind:{ click: function(){ $(this).rotate({ duration:6000, angle: 0, animateTo:100 }) } } }); [/code]
  • 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:[code lang="js"] function (x, t, b, c, d) { return -c * ((t=t/d-1)*t*t*t - 1) + b; } [/code] Where:t: current time, b: begInnIng value, c: change In value, d: duration, x: unused No easing (linear easing): [code lang="js"]function(x, t, b, c, d) { return (t/d)*c ; } [/code] Example (click on arrow): [code lang="js"] $("#img").rotate({bind:{ click: function(){ $(this).rotate({ angle: 0, animateTo:180, easing: $.easing.easeInOutElastic }) } } }); [/code]
  • callback属性:[Function] 动画完成时执行的回调函数例如 (click on arrow):[code lang="js"] $("#img").rotate({bind:{ click: function(){ $(this).rotate({ angle: 0, animateTo:180, callback: function(){ alert(1) } }) } } }); [/code]
getRotateAngle 这个函数只是简单地返回旋转对象当前的角度。 例如: [code lang="js"] $("#img").rotate({ angle: 45, bind: { click : function(){ alert($(this).getRotateAngle()); } } }); [/code] stopRotate 这个函数只是简单地停止正在进行的旋转动画。 例如: [code lang="js"] $("#img").rotate({ bind: { click: function(){ $("#img").rotate({ angle: 0, animateTo: 180, duration: 6000 }); setTimeout(function(){ $("#img").stopRotate(); }, 1000); } } }); [/code] 用这个可以实现很多关于旋转的网页特效,我用这个做了个抽奖大转盘,效果不错,就是没flash顺畅,基本能跑哈哈。 jqueryrotate项目地址:http://code.google.com/p/jqueryrotate/ 代码示例:http://code.google.com/p/jqueryrotate/wiki/Examples



转载请注明: 兰亭楼 » jQuery旋转插件—rotate

发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址