【发布时间】:2015-02-17 19:21:53
【问题描述】:
我有html代码:
<div class="block-1"></div>
<div class="block-2"></div>
<div class="block-3"></div>
我需要在这个算法中:
- 为 .block-1 添加类 active
- 等待 500 毫秒。 - 为 .block-2 添加类 active
- 等待 400 毫秒。 - 为 .block-3 添加类 active
- 等待 500 毫秒。 - 删除所有类活动并重复所有
但是有一些问题……
这是动画:
.block-1 有样式height: 0; transition: height .5s linear;
.block-1.active 有样式height: 100px;
因此,块高度在 500 毫秒内从 0px 变化到 100px。
我尝试添加延迟:
$('.block-1').addClass('active');
$('.block-2').delay(500).addClass('active');
$('.block-3').delay(900).addClass('active');
...
但是 delay 不会正确地使用 addClass。
附:我需要在 addClass 中。我不能使用动画,比如
$('.block-1').animate({height: 100px}, 500);
...因为这只是演示代码,而在我的真实代码中,我不仅有一个 height,而且还有很多其他属性。
下一个问题是延迟。 延迟是从一开始就考虑的,我需要写代码如:
- 第一步
- 第二步 - 延迟 500
- 第三步 - 延迟 900
- 第四步 - 延迟 1200
- ...
但是我有大约 40 个步骤,如果我尝试编辑其中一个步骤,我会遇到很多问题...
附:对不起我的英语不好(我来自圣彼得堡)。
【问题讨论】:
-
如果每个块的高度总是100?如果每个块都已有样式,则可以在 CSS 中使用
transition-delay: .500s;。
标签: javascript jquery