欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)

程序员文章站 2022-08-09 17:26:27
网上发现一个很有意思的jquery旋转插件,支持internet explorer 6.0+ 、firefox 2.0 、safari 3 、opera 9 、google chrome,高级下使用...

网上发现一个很有意思的jquery旋转插件,支持internet explorer 6.0+ 、firefox 2.0 、safari 3 、opera 9 、google chrome,高级下使用transform,低版本ie使用vml实现。

调用和方法:

rotate(angle)

angle参数:[number] – 默认为 0 – 根据给定的角度旋转图片

例如:

. 代码如下:


$("#img").rotate(45);


rotate(parameters)

parameters参数:[object] 包含旋转参数的对象。支持的属性:
1.angle属性:[number] – default 0 – 旋转的角度数,并且立即执行
例如:

. 代码如下:


$("#img").rotate({angle:45});


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

. 代码如下:


$("#img").rotate({bind:{

click: function(){

$(this).rotate({

angle: 0,

animateto:180
})
}
}
});


3.animateto属性:[number] – default 0 – 从当前角度值动画旋转到给定的角度值 (或给定的角度参数)例如: 结合上面的例子,请参阅使用。
4.duration属性:[number] – 指定使用animateto的动画执行持续时间例如 (click on arrow):

. 代码如下:


$("#img").rotate({bind:{
click: function(){
$(this).rotate({
duration:6000,
angle: 0,
animateto:100
})
}
}
});


5.step属性:[function] – 每个动画步骤中执行的回调函数,当前角度值作为该函数的第一个参数
6.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 https://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:

. 代码如下:


function (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):

. 代码如下:


function(x, t, b, c, d) { return (t/d)*c ; }


example (click on arrow):

. 代码如下:


$("#img").rotate({bind:{
click: function(){
$(this).rotate({
angle: 0,
animateto:180,
easing: $.easing.easeinoutelastic
})
}
}
});


7.callback属性:[function] 动画完成时执行的回调函数例如 (click on arrow):

. 代码如下:


$("#img").rotate({bind:{
click: function(){
$(this).rotate({
angle: 0,
animateto:180,
callback: function(){ alert(1) }
})
}
}
});


getrotateangle

这个函数只是简单地返回旋转对象当前的角度。

例如:

. 代码如下:


$("#img").rotate({
angle: 45,
bind: {
click : function(){
alert($(this).getrotateangle());
}
}
});


stoprotate

这个函数只是简单地停止正在进行的旋转动画。

例如:

. 代码如下:


$("#img").rotate({
bind: {
click: function(){
$("#img").rotate({
angle: 0,
animateto: 180,
duration: 6000
});
settimeout(function(){
$("#img").stoprotate();
}, 1000);
}
}
});


用这个可以实现很多关于旋转的网页特效,我用这个做了个抽奖大转盘,效果不错,就是没flash顺畅,基本能跑哈哈。