.delay divA,当显示DivA时,自动隐藏DivB

时间:2013-01-17 10:02:21

标签: jquery css animation html

是否有任何代码,如果我设置.delay(500)show divA,那么当divA显示时,divB将在检测到divA时自动隐藏。因为对于我的视觉设计,DivA和DivB将是同一个地方。我不能在页面的.delay上使用太多,因为我害怕计时器问题,因为不是每个人都有良好的互联网访问权。

有没有办法做到这一点?因为我不是动画部分的专家,所以我使用gif动画继续。

我的视觉流程解释: 第一件事会显示一个大的纸卷(它很接近),当我点击纸卷时,它会缩小,然后移动到左侧,然后下一帧将展开纸卷形式从左到右。

:((

1 个答案:

答案 0 :(得分:1)

你可以使用这样的回调函数来检测第一件事完成它的预期操作...

$('#divA').delay(500).fadeIn('slow', function() {
    // divA has finished loading.. NEXT.
    $('#divB').hide();
});

您可以继续使用fadeOut()等内容......

$('#divB').fadeOut('slow', function() {
    // Oh look, divB has just faded out!
});

最后,如果您将#divA设置为隐藏,#divB可见,#divA淡入,当淡入淡出时,#divB淡出。< / p>

当然,您可以切换

如果您不想要淡入淡出动画,请

.fadeIn('slow', function() . . .改为.show(function() ...


根据你的问题,你的最终代码是:

<div id="divA" style="display:none">
    divA
</div>
<div id="divB">
    divB
</div>

<script type="text/javascript">
    $('#divA').delay(500).fadeIn('slow', function() {
        // divA has finished loading.. NEXT.
        $('#divB').fadeOut('slow');
    });
</script>