2013-03-01 95 views
0

我试图让一组方形div(“.block”)淡出,当一个被点击时,被一个更大的div(“#container”)取代,它尽快淡入他们淡出。这工作得很好:jQuery过早褪色

$('.block').animate({opacity:0},400,'swing',function(){ $('#container').fadeIn();}); 

我使用“动画”这里,是因为我不想被块所占用时,他们淡出(如果我用淡出这会发生)崩溃的空间。

'#container'div有一个关闭按钮,点击时应该淡出容器并将块重新淡入。问题在于:当点击关闭按钮时,容器会淡出,但新块会非常突然出现,就好像它们并未等待容器先关闭一样。代码:

$('#container').fadeOut(400,function(){ $('.block').animate({opacity:100},400,'swing');}); 

This question建议增加延迟 - 对我来说这一切确实是淡出的容器,然后等待一秒钟,然后迅速(过快)把块回来。

任何想法,为什么这不工作非常赞赏。

+1

我很惊讶,你说你的第一线工作的 - 你在回调函数语法错误。代码高亮表示它。您在选择器的开头使用单引号,在选择器的末尾使用双引号。 – 2013-03-01 13:42:19

+0

发现很好,但刚刚发生在我的转录中(我为这个问题稍微编辑了代码)。我会编辑我的问题来修改错误。 – GluePear 2013-03-01 13:44:50

+2

顺便说一句,CSS的不透明度接受值从0到1 – 2013-03-01 13:46:57

回答

0

CSS不透明度值接受从0到1

$('#container').click(function() { 
    $(this).fadeOut(400, function() { 
     $('.block').animate({ 
      opacity: 1 //was 100 
     }, 400, 'swing'); 
    }); 
}); 

http://jsfiddle.net/WEhCc/1/

+0

谢谢佩德罗,它修复了它。 – GluePear 2013-03-01 13:59:05

+0

不客气,祝你好运 – 2013-03-01 14:01:12