jQuery淡出、替换、动画几乎正常工作

jQuery淡出、替换、动画几乎正常工作,jquery,jquery-animate,fadeout,Jquery,Jquery Animate,Fadeout,我正在努力实现以下目标: 1.单击后,有一个id为“音量控制器”淡出的div 2.用新html替换音量控制器的html(此新html将显示在浏览器的折叠下方) 3.设置新HTML动画以向上滑动到指定位置 第1步和第2步可行,第3步不行,我不明白为什么 下面是javascript: $("#fader").fadeOut(1000, function() { $(this).replaceWith('<div id=\"fader\" style=\"margin-top:-500px;

我正在努力实现以下目标: 1.单击后,有一个id为“音量控制器”淡出的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"});
  });
});
$(“#音量控制器”).fadeOut(1000,函数(){
$(this.replaceWith('new div',function()){
$(“#音量控制器”)。动画({marginTop:“500px”});
});
});
如果您有任何关于为什么div不会制作动画的想法,我们将不胜感激,提前感谢

在您的示例中,没有回调,它的签名与动画的签名不同

请尝试以下方法:

$("#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"});
});
$(“#音量控制器”).fadeOut(1000,函数(){
$(此).replace为('new div');
$(“#音量控制器”)。动画({marginTop:“500px”});
});

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

感谢您对.replaceWith()和链接的说明。您提供的代码片段正在运行,非常感谢您的帮助!我不明白你在说什么:1.replaceWith()没有回调,句号;不仅仅是在这种情况下。2)他在最初的代码中没有链接任何东西(除非他在我看到之前编辑了代码)。链接类似于
$('.class')。替换为('

')。fadeIn(),还是我错了?@dclowd9901-如果你删除了
$(“#fader”)中的
$(“#fader”)
。动画({marginTop:“500px”)然后它就不起作用了…通常你可以用相同的选择器来缩短,我指出在这种情况下删除该选择器是不起作用的,所以不要试图优化:)完美。一直在努力链接动画事件已经有一段时间了@Jesse-如果可以,请单击帮助您解决问题的选项旁边的复选标记来接受答案,这有助于保持所有问题的整洁,并使您的问题吸引人回答。还可以尝试“我的函数”。。让我知道!;-)