jQuery fadeOut,replaceWith,animate几乎正常工作

时间:2010-03-17 20:00:34

标签: jquery jquery-animate fadeout

我正在尝试完成以下操作: 1.点击,有一个id =“fader”fadeout的div 2.用新的html替换推子的HTML(这个新的HTML将出现在浏览器的下方) 3.动画新HTML以滑动到指定位置

第1步和第2步正在发挥作用,第3步不行,我很难过为什么。

这是javascript:

$("#fader").fadeOut(1000, function() {
  $(this).replaceWith('<div id=\"fader\" style=\"margin-top:-500px;width:500px;height:400px;border:1px solid black;\">new div</div>', function() {
    $("#fader").animate({marginTop: "500px"});
  });
});

任何有关为什么div不会制作动画的想法都会非常感谢,提前感谢!

1 个答案:

答案 0 :(得分:5)

在你的情况下.replaceWith()没有回调,它的签名与动画的签名不同。

请改为尝试:

$("#fader").fadeOut(1000, function() {
  $(this).replaceWith('<div id="fader" style="margin-top:-500px;width:500px;height:400px;border:1px solid black;">new div</div>');
  $("#fader").animate({marginTop: "500px"});
});

请注意,您无法将其链接,.replaceWith()会返回原始对象,而不是您刚创建的对象。