Javascript 如何在jQuery中以相同的速度设置每个元素的动画?
我有简单的动画Javascript 如何在jQuery中以相同的速度设置每个元素的动画?,javascript,jquery,animation,Javascript,Jquery,Animation,我有简单的动画 $(element).animate({ left: rand_value() + "px" }, 5000, "linear"); 但是有一个小问题。从A点到B点的动画持续时间为5秒。但我想以相同的速度从A点到B点为每个元素制作动画,而不依赖于时间。我不知道该怎么做 例如: 起点是0,终点是1000 ElemB:srart点为0,终点为200 ElemA和ElemB的速度必须相等,~10px/秒。这意味着动画的持续时间不同。这可能会有帮助: var rand =
$(element).animate({
left: rand_value() + "px"
}, 5000, "linear");
但是有一个小问题。从A点到B点的动画持续时间为5秒。但我想以相同的速度从A点到B点为每个元素制作动画,而不依赖于时间。我不知道该怎么做
例如:
- 起点是0,终点是1000
- ElemB:srart点为0,终点为200
var rand = rand_value();
$(element).animate({
left: rand + "px"
}, 100*rand, "linear");
这就是为什么这是有意义的:
speed=distance/time
,因此10px/sec=rand/time
,因此0.01px/毫秒=rand/time
,从而time=rand/0.01
等于time=rand*100
。这与.animate(…)
以毫秒为单位持续时间的事实是一致的。好的,谢谢你的想法JCOC611
有适合我的解决办法
var rand = rand_value();
var multiplier = 3; // multiplier, to decrease animation speed
$(element).animate({
left: rand +"px)"
}, rand * multiplier, "linear");
这样,每个动画的速度都是相等的,并且它的速度可以用乘法器控制。linear应该在相同的时间间隔内制作动画,你能给我们演示一下吗?