有指定角度的方式使用以一個角度移動,jquery,animate()?
$(this).animate({'left': '+=30px'}, 1000);
當我想
$(this).animate({'48': '+=30px'}, 1000);
的48人是角
有指定角度的方式使用以一個角度移動,jquery,animate()?
$(this).animate({'left': '+=30px'}, 1000);
當我想
$(this).animate({'48': '+=30px'}, 1000);
的48人是角
可以同時指定left
和top
屬性:
$(this).animate({left: '+=30px', top: '+=30px'}, 1000);
在這種情況下,t他的角度將是45°。
要指定不同的角度,首先計算cos(α)和sin(α)。餘弦指定你必須向右走多遠,以及竇要走多遠,才能在指定的角度上形成1個像素的距離。如果要覆蓋30像素距離,請將正弦和餘弦結果乘以30.
我只是想糾正32bitkid中由Yogu提供的最佳答案中的錯誤。
如果Math.PI被-180(而不是180)分隔,將導致div的位置正確。 90度的角度是向下而不是向上移動。
$(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/
犯規罪(45)和cos(45)= 0.7071067812 – thelost 2012-01-16 21:04:51
萬一第二段無厘頭:http://jsfiddle.net/ SMvj3/3/ – 2012-01-16 21:05:15
o cool radians,thx – thelost 2012-01-16 21:06:06