jQuery延迟时间似乎是错误的

时间:2012-02-27 15:25:01

标签: jquery delay

我希望一个div消失,因为它们会暂停一段时间,之后会让另一个div消失。

这是我的尝试,但不起作用。 fadein动画在淡出结束之前开始。

    $('.nav .filters').fadeOut('200');
    $('.nav .map-r').delay('300').fadeIn('200');

如果我将每个动画的时间延长10倍,那么它真的很奇怪吗:

    $('.nav .filters').fadeOut('2000');
    $('.nav .map-r').delay('3000').fadeIn('2000');

3 个答案:

答案 0 :(得分:0)

你应该将fadeIn()放在fadeOut()的回调中,以便在fadeOut完成时执行

$('.nav .filters').fadeOut(200, function(){
   $('.nav .map-r').delay(300).fadeIn(200);
   //i'm not sure this works, if it doesn't just use setTimeout()
   //setTimeout(function(){$('.nav .map-r').fadeIn(200)}, 300);
});

答案 1 :(得分:0)

我认为,这就是答案,我只是复制并粘贴了上面的评论:

“fadeOut()是否将数字作为参数而不是表示数字的字符串文字?尝试删除单引号。是的,单引号仅用于'fast','slow'等,否则参数应该是是一个没有引号的数字。“

fadeIn()和delay()以及toggle()等也是如此。你可以称之为jQuery约定。

答案 2 :(得分:0)

$('.nav .filters').fadeOut(200, function(){$('.nav .map-r').delay(300).fadeIn(200);});