我正在尝试完成以下操作: 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不会制作动画的想法都会非常感谢,提前感谢!
答案 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()
会返回原始对象,而不是您刚创建的对象。