为了账号安全,请及时绑定邮箱和手机立即绑定

请问怎样才能让其在任意度数下饶中心旋转?

请问怎样才能让其在任意度数下饶中心旋转?

喵喔喔 2022-07-07 11:07:03
这是一个让图片旋转的函数,rotate里输入角度,可是我发现只有90度的时候图片才围绕自己的中心旋转(正方形图片),如果换成其他度数就不行了,我找半天也没看出来是绕着那个点旋转。
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

    rotate是jQuery旋转rotate插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。

    rotate(angle)angle参数:[Number] – 默认为 0


根据给定的角度旋转图片例如:$(“#img”).rotate(45);或 $(‘#img’).rotate({angle:45})

rotate(parameters)parameters参数:[Object] 包含旋转参数的对象。

支持的属性:

1.angle属性:[Number] – default 0 – 旋转的角度数,并且立即执行


例如:1$(“#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) 

默认: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 ; }   


示例1:没有效果,一直转 $("#scImg").rotate({                              angle:0,                              animateTo:360,                              callback: rotation,                                easing: function (x,t,b,c,d){                                           return (t/d)*c ;                             }                      });
  

示例2: 默认的效果         $("#scImg").rotate({                              angle:0,                              animateTo:360,                              callback: rotation,                              easing: function (x,t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b ;                             }                      });

示例3:$(“#img”).rotate({bind:{    click: function(){        $(this).rotate({            angle: 0,            animateTo:180,            easing: $.easing.easeInOutElastic            })        }    }});

7.callback属性:[Function] 动画完成时执行的回调函数

例如


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

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


例如:$(“#img”).rotate({    angle: 45,    bind: {        click : function(){        alert($(this).getRotateAngle());        }    }});

9.stopRotate这个函数只是简单地停止正在进行的旋转动画。例如:


$(“#img”).rotate({    bind: {        click: function(){            $(“#img”).rotate({                angle: 0,                animateTo: 180,                duration: 6000            });        setTimeout(function(){            $(“#img”).stopRotate();            }, 1000);        }    }});



查看完整回答
反对 回复 2022-07-11
?
青春有我

TA贡献1784条经验 获得超8个赞

你好!!

不知道你的那个jquery.rotate.js是什么版本了?

新版本的用法也不是很复杂,如下:


$(function(){    $("#rotate-img").click(function(){//click事件,每点击一次,顺时针旋转45°.        //图片旋转,通过$.animate()方法        $(this).animate({            rotate:"+=45deg"  //为rotate属性赋值,注意:deg为角度单位        },'slow');    });});



查看完整回答
反对 回复 2022-07-11
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

以中心竖轴线为基准旋转。
$(obj).rotate(30); //即正上向右偏转30度

查看完整回答
反对 回复 2022-07-11
  • 3 回答
  • 0 关注
  • 214 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号