我有这个例子:

EXAMPLE

当您单击该按钮时,红色文本向左滑动,但是问题在于,动画结束后,黄色文本会跳到新位置。当红色文字滑出时,如何将黄色文字“设置动画”以实时转到新位置?







HTML:

<div id="1" style="float:left; color:blue">
    <a>THIS IS NUMBER 1</a>
</div>

<div id="2" style="float:left; color:red">
    <a>THIS IS NUMBER 2</a>
</div>

<div id="3" style="float:left; color:yellow">
    <a>THIS IS NUMBER 3</a>
</div>

<br/>
<button id="btn">GO!</button>


JS:

$("#btn").click(function()
{
   $("#2").hide("slide", { direction: "left" }, 700);
});

最佳答案

黄色文本跳跃,因为jQuery删除了其上方的元素,并且页面进行了相应的调整。您可以尝试使用以下方法使其更加流畅:

$("#btn").click(function()
{
   $("#2").hide("slide", { direction: "left" }, 700);
   $("#3").slideUp('slow', function() {
    // add anything else you want to do here for when this animation completes.
    // if not, just use .slideUp('slow');
  });
});


这是未经测试的,超出了我的头脑,但它应该使您靠近,

或者尝试使用.animate()方法:

$("#btn").click(function()
{
    $('#2').animate({"width": "toggle", "height":"toggle", "opacity": "toggle" }, "slow");
});


示例:http://jsfiddle.net/YG5rh/2/

08-27 10:11