1

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

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

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

:((

4

1 回答 1

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淡出。

当然也可以切换

.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>
于 2013-01-17T10:07:59.150 回答