以一定角度移动,jquery,animate()
Move at an angle, jquery, animate()?
使用时有没有方法指定角度
$(this).animate({'left': '+=30px'}, 1000);
我想要
$(this).animate({'48': '+=30px'}, 1000);
48将是角度
您可以同时指定left
和top
属性:
$(this).animate({left: '+=30px', top: '+=30px'}, 1000);
在这种情况下,角度为45°。
要指定不同的角度,请首先计算cos(α)和sin(α)。余弦指定你必须向右走多远,正弦指定你必须向上走多远,以在指定角度内形成1个像素的距离。如果您想覆盖30个像素的距离,请将正弦和余弦结果乘以30。
我只是想从Yogu的最佳答案中纠正32bitkid的优秀示例中的一个错误。
如果将Math.PI除以-180(而不是180),则会得到除法的正确位置。90度角是向下而不是向上移动div。
$(function() {
var dist = 30;
var angle = 90;
var x = Math.cos(angle*Math.PI/-180) * dist;
var y = Math.sin(angle*Math.PI/-180) * dist;
$("div").animate({'left': '+='+x+'px', 'top': '+='+y+'px'}, 1000);
})
这是最新的小提琴:http://jsfiddle.net/9yL8hxnz/
相关文章:
- 可以'使用jQuery animate时无法看到动画
- 如何使用jquery animate来回移动多个元素
- jQuery animate()函数没有't设置动画
- JQuery.animate();不以固定高度工作
- 有没有一种方法可以用步骤递归调用jQuery animate()
- jquery animate无法正常工作
- JQuery.animate()菜单幻灯片返回
- jQuery animate只在单击时工作一次
- 如何在不使用css转换的情况下将jQuery animate与css3属性相结合
- Implementation of jQuery 'animate' with Meteor
- jQuery Animate 在创建图库滑块时不起作用
- jQuery animate 会中断空格键滚动
- Jquery Animate on IE makes error
- 使用 jQuery animate 时绘制一个又一个对象的线条
- Jquery animate 不能与 IE 一起使用 - 什么也没发生
- 只执行一次jquery animate
- 第一个jQuery.animate()不工作
- 使用jquery animate()在文本上实现反弹效果
- jquery .animate 回调自动执行
- jQuery+Animate.css动画只工作一次,动画不会重置