我认为您的意思是 CSS 过渡。对于http://www.w3.org/TR/css3-animations/animations,您可以定义关键帧来微调过渡,但我认为您不需要它。
我认为以下代码可以满足您的需求。http://jsfiddle.net/Y69VB/1/
HTML
<button id='anim'>animate</button>
<button id='move'>move</button>
<div id='moveme' class='pos1'>Here</div>
CSS
.cssanimation {
transition: top 2s;
-moz-transition: top 2s; /* Firefox 4 */
-webkit-transition: top 2s; /* Safari and Chrome */
-o-transition: top 2s; /* Opera */
}
#moveme {
position: absolute;
width: 50px;
height: 50px;
border: 1px solid red;
}
.pos1 {
top: 30px;
}
.pos2 {
top: 80px;
}
JavaScript
var $moveme = $('#moveme');
function togglePosition() {
$moveme.toggleClass('pos1');
$moveme.toggleClass('pos2');
}
$('#anim').click(function(){
$moveme.addClass("cssanimation");
togglePosition();
});
$('#move').click(function(){
$moveme.removeClass("cssanimation");
togglePosition();
});
</p>