jQuery淡出然后淡入

jQuery淡出然后淡入,jquery,fadein,fadeout,Jquery,Fadein,Fadeout,关于这个话题有很多,但我还没有找到一个适合我的情况的例子 淡出一张图片,然后淡入另一张图片。相反,我遇到了一个问题,第一个淡出,紧接着(动画完成之前)下一个淡入 我读过一次,记不清到底是什么把戏 谢谢你的帮助 淡入淡出回调中的另一个,淡出完成后运行。使用您的代码: $('#two, #three').hide(); $('.slide').click(function(){ var $this = $(this); $this.fadeOut(function(){ $this

关于这个话题有很多,但我还没有找到一个适合我的情况的例子

淡出一张图片,然后淡入另一张图片。相反,我遇到了一个问题,第一个淡出,紧接着(动画完成之前)下一个淡入

我读过一次,记不清到底是什么把戏


谢谢你的帮助

淡入淡出回调中的另一个,淡出完成后运行。使用您的代码:

$('#two, #three').hide();
$('.slide').click(function(){
    var $this = $(this);
    $this.fadeOut(function(){ $this.next().fadeIn(); });
});
或者,您可以只“暂停”链,但需要指定多长时间:

$(this).fadeOut().next().delay(500).fadeIn();
这可能会有所帮助:

基本上
$(this.fadeOut().next().fadeIn()是您在jQuery1.6之后所需要的

,使用promise似乎是一个更好的选择

var $div1 = $('#div1');
var fadeOutDone = $div1.fadeOut().promise();
// do your logic here, e.g.fetch your 2nd image url
$.get('secondimageinfo.json').done(function(data){
  fadeoOutDone.then(function(){
    $div1.html('<img src="' + data.secondImgUrl + '" alt="'data.secondImgAlt'">');
    $div1.fadeIn();
  });
});
var$div1=$('#div1');
var fadeOutDone=$div1.fadeOut().promise();
//在这里执行您的逻辑,例如获取您的第二个图像url
$.get('secondimageinfo.json').done(函数(数据){
然后(函数(){
$div1.html(“”);
$div1.fadeIn();
});
});

通过异步函数和承诺,它现在可以简单地工作如下:

async function foobar() {
  await $("#example").fadeOut().promise();
  doSomethingElse();
  await $("#example").fadeIn().promise();
}

啊,没错。谢谢你的提醒。现在,淡出有一个附加的功能,我可以在哪里调整它的速度?fadeIn很简单:)
fadeOut('fast',function(){…})
fadeOut(200,function(){…})
Downvoting<代码>下一步()
不会执行此答案假定的操作。请参阅文档:@David-
next()
不是这个答案的内容,它讨论的是回调和
.delay()
next()
只是OP特定解决方案的一部分。在对答案进行否决和被Snarkytanks@MarkKahn攻击之前,请费心理解答案。如果可以的话,我会取消否决票。对不起,打扰你了。我显然没有花时间去理解这个问题。很抱歉,这里还有一些fadein fadeout的例子