jQuery.rotate.js笔记
1. jQuery.rotate.js是什么
一个开源的兼容多浏览器的jQuery插件用来对元素进行任意角度的旋转动画。
这个库开发的目的是为了旋转img的,在3.x之后的版本可能支持其它元素,但旋转其它元素在一些低版本浏览器可能出现兼容器问题。所以应该尽量只用在旋转img元素上。
2. jQuery.rotate.js怎么用
2.1 接口
总共提供了四个方法:
rorate(angle); rorate(parameters); getRorateAngle(); stopRotate();
2.1.1 rorate(angle);
传入一个角度,会直接将元素旋转到对应的角度,并不会有动画:
$("#foo").rotate(15);
效果:
2.1.2 rorate(parameters);
支持的参数:
参数名 | 类型 | 说明 |
angle | Number | 旋转到指定的角度,不带动画,默认是0 |
animateTo | Number | 旋转到指定的角度,使用动画 |
bind | Object | 可以传入一个对象,作为事件绑定到元素上。 |
center | Array | 用来设定旋转的中心,传入的数组是[X,Y]格式的,可以使用数值[100,100]或者百分比[“50%”,“50%”],默认是以元素的中心点旋转 |
duration | Number | 指定动画的持续时间,默认是1000毫秒 |
step | Function | 传入一个回调函数在动画的每一步都会调用一下 |
easing | Function | 让动画看起来更自然,感觉用不到,而且本人对图形学没啥研究,感兴趣的官网有详细描述,就不再深究了…. |
callback | Function | 当动画完成时的回调函数。 |
关于bind的想法:
jQuery已经为我们提供了很健全的事件绑定接口了,为啥这里还提供bind呢?
猜想可能是为了将同义操作统一化。
Demo : 一个简单的例子(倾斜的图画在鼠标移上去的时候摆正,离开的时候又恢复原样):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{
text-align:center;
}
#foo{
width:300px;
height:200px;
margin-top:100px;
}
</style>
</head>
<body> <img id="foo" src="img/foo.jpg" alt="" /> <script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jQueryRotate.js"></script>
<script type="text/javascript"> $(document).ready(function(){
$("#foo").rotate({
angle:15,
bind:{
mouseover:function(){
$(this).rotate({
animateTo:0
});
},
mouseout:function(){
$(this).rotate({
animateTo:15
});
}
}
});
}); </script>
</body>
</html>
效果:
Demo:center的使用
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{
text-align:center;
}
#foo{
width:200px;
height:130px;
margin-top:100px;
}
</style>
</head>
<body> <img id="foo" src="img/foo.jpg" alt="" /> <script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jQueryRotate.js"></script>
<script type="text/javascript"> $(document).ready(function(){ $("#foo").rotate({
bind:{
click:function(){
$(this).rotate({
center:["0","100%"],
animateTo:90
});
}
}
}); }); </script>
</body>
</html>
效果:
2.1.3 getRorateAngle();
获取元素当前旋转的角度
$(document).ready(function(){
$("#foo").rotate({
angle:15,
bind:{
click:function(){
console.log($(this).getRotateAngle());
}
}
});
});
2.1.4 stopRotate();
停止元素的旋转。
一个小例子,元素不断的匀速旋转,单击时停止旋转:
$(document).ready(function(){ var rotate=function(){
$("#foo").rotate({
angle:0,
animateTo:360,
duration:5000,
callback:rotate,
easing: function (x,t,b,c,d){
return c*(t/d)+b;
},
bind:{
click:function(){
$(this).stopRotate();
}
}
});
}
rotate(); });
效果:
另一种实现元素不断旋转的方法:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{
text-align:center;
}
#foo{
width:300px;
height:200px;
margin-top:100px;
}
</style>
</head>
<body> <img id="foo" src="img/foo.jpg" alt="" /> <script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jQueryRotate.js"></script>
<script type="text/javascript"> $(document).ready(function(){ var angle=0;
var rotate=function(){
angle=angle+10;
$("#foo").rotate({
animateTo:angle,
duration:100
})
}
setInterval(rotate,100); }); </script>
</body>
</html>
效果并不是特别理想,感觉有些卡顿。
3. 总结
1. jQuery.rotate适合对img元素进行旋转操作。
2. 可以设置动画过渡,可以设置过渡的时间。
3. 可以设置完成回调函数。
4. 可以自定义旋转中心。
5. 可以设置动画曲线。
6. 编不出了…
参考资料:
1. 官网 http://jqueryrotate.com/
jQuery.rotate.js笔记的更多相关文章
- jQuery.rotate.js(控制图片转动)
jQuery.rotate.js笔记 1. jQuery.rotate.js是什么 一个开源的兼容多浏览器的jQuery插件用来对元素进行任意角度的旋转动画. 这个库开发的目的是为了旋转img的, ...
- jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
需求: 抽奖代码最多可以抽奖5次,而且,每次只会中“2000元理财金”或者“谢谢参与”,其它的不会抽中(哈哈,果然都是套路). 效果如下: 一.页面结构: ? 1 2 3 4 5 6 7 8 9 10 ...
- jquery.rotate.js实现旋转动画
1.页面引入jquery.rotate.js文件, 下载地址:https://files.cnblogs.com/files/zhoujl-5071/jquery.rotate.js(打开这个网址,c ...
- jquery.rotate.js可选抽奖次数和中奖内容的转盘抽奖demo
需求: 最多可以抽奖5次,而且,每次只会中“2000元理财金”或者“谢谢参与”,其它的不会抽中(哈哈,果然都是套路). 效果如下: 一.页面结构: <div class="g-cont ...
- jQuery.rotate.js参数
CSS3 提供了多种变形效果,比如矩阵变形.位移.缩放.旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动.然后 IE10 以下版本的浏览器不支持 CSS3 变形,虽然 IE 有私有属性滤镜(fil ...
- jquery.form.js笔记
由于项目的原因,需要异步上传文件,网上找了找,很多都是用jquery.form插件的,于是乎找资料,调代码,做点小笔记. 官方资料:http://www.malsup.com/jquery/form/ ...
- jQuery.pin.js笔记
jQuery.pin.js是一个把元素钉在页面上某个位置的插件,它能够将某个元素一直挂在一个固定的位置而不论滚动条是否滚动. 特点: 1. 可以钉住一个元素,主要作用就是滚动超出的时候不会隐藏而是一直 ...
- jquery.rotate.js库中的rotate函数怎么用。
rotate是jQuery旋转rotate插件,支持Internet Explorer 6.0+ .Firefox 2.0 .Safari 3 .Opera 9 .Google Chrome,高级浏览 ...
- jQuery旋转插件jquery.rotate.js 让图片旋转
演示1 直接旋转一个角度 $('#img1').rotate(45); 演示2 鼠标移动效果 $('#img2').rotate({ bind : { mouseover : function(){ ...
随机推荐
- 第十二节、尺度不变特征(SIFT)
上一节中,我们介绍了Harris角点检测.角点在图像旋转的情况下也可以检测到,但是如果减小(或者增加)图像的大小,可能会丢失图像的某些部分,甚至导致检测到的角点发生改变.这样的损失现象需要一种与图像比 ...
- KMP之计算Next数组
KMP的Next数组:模式串的前缀与后缀的“相交”长度 KMP算法步骤: 1.先算next数组 2.若失配(此时模式串下标为j),利用Next数组求出失配后滑动的新位置 a.Next[j] \geq ...
- SQL语法基础之DROP语句
SQL语法基础之DROP语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看DROP帮助信息 mysql> ? DROP Many help items for yo ...
- 《Kafka权威指南》读书笔记-操作系统调优篇
<Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运 ...
- passat QA / error code 20190210
s 帕萨特B5 技术资料下载 https://pan.baidu.com/s/1KXYly7eGDUSI5QiLcz8fiQ 提取码: 1i7u 星期日,10,二月,2019,17:16:16:317 ...
- 网络编程基础【day09】:socket实现文件发送(六)
本节内容 1.概述 2.文件下载实现 3.MD5值校验 一.概述 我们如何利用socket去下载一个文件,整体思路是这样的: 读取文件名 检测文件是否存在 打开文件 检测文件大小 发送文件大小给客户端 ...
- Web API中的路由(一)——约定路由
一.Web API中的路由概念 路由的作用用一句话说明:通过request的uri找到处理该请求的Controller,Action,以及给Action的参数赋值. 一些路由的基本概念: route: ...
- log 的 debug()、 error()、 info()方法
log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF.FATAL.ERROR.WARN.INFO.DEBUG.TRACE. ALL. 简单的说,就是 ...
- Silverlight用户无法注册之MySql.Data.dll不一致
本篇博文记录本人解决一个"用户无法注册"的问题的过程 1 问题描述: 用户可以删除:但不能注册,也不能修改权限: 图 1用户注册失败 图 2修改用户权限出错 2 解决过程 1)粗暴 ...
- 一、VS2017 的创建程序
1.1 创建第一个子程序 1.1.1 创建项目 打开 VS2017,选择菜单栏 [文件]->[新建]->[项目]: 点击[确定]后,弹出如下界面: 点击[下一步]: 选择 空项目, 然后点 ...