Jquery animate():存储css键/值对

Jquery animate():存储css键/值对,jquery,Jquery,如果我有 $('#element').animate({'top':'-140px'},2000); 是否可以以某种方式预先定义一组键/值对,这样我就可以使用 $('#element').animate(firstPos,2000).animate(secondPos,2000); 提前谢谢。简短的回答是肯定的。您可以定义一个对象文字,如 firstPos = { top: '-140px' }; secondPos = { top: '0px' }; 然后将其传递到anima

如果我有

$('#element').animate({'top':'-140px'},2000);
是否可以以某种方式预先定义一组键/值对,这样我就可以使用

 $('#element').animate(firstPos,2000).animate(secondPos,2000);

提前谢谢。

简短的回答是肯定的。您可以定义一个对象文字,如

firstPos = {
  top: '-140px'
};

secondPos = {
  top: '0px'
};
然后将其传递到animate()调用中。但是,您可能不希望链接动画调用,而是希望在第一个动画完成后触发第二个POS动画。因此,您可能希望在第一个回调中执行第二个动画,如:

$("#element").animate(firstPos, 2000, function() { $(this).animate(secondPos, 2000); })
可能还需要阅读

参见此示例:


var firstPos={key:object};var secondPos={key:value}
?如果您的目标浏览器支持CSS3关键帧,它们会完全满足您的需要。谢谢大家@卡尔-似乎不起作用?@Steve-我认为关键帧不合适,因为这实际上是一个更大的操作的一部分…@Inigo我认为我不明白你想要实现什么-很好,谢谢。我试过了,但没有意识到我的页面上还有另一个错误。谢谢
var firstPos= {'top':'40px'};
var secondPos= {'top':'80px'};
$('#element').animate(firstPos,2000).animate(secondPos,2000);