Альтернативой JavaScript было бы использование CSS для этого. В качестве бонуса ваша страница будет по-прежнему работать, даже если JavaScript отключен.
Сначала давайте начнем с некоторой чистой, действительной разметки:
<html>
<body>
<div class="popIn">
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
</div>
</body>
</html>
Теперь ваш CSS (например, в<style>
тег в <head>
), добавьте анимацию ключевого кадра, которая устанавливает видимость на visible
прямо в последнюю секунду:
@keyframes popIn {
99% {
visibility: hidden;
}
100% {
visibility: visible;
}
}
Теперь добавьте правило, чтобы выбрать всех прямых потомков .popIn
. В этом селекторе >
означает прямой потомок, а *
означает что угодно. Правило настроит нашу анимацию.
.popIn > * {
animation: 1s popIn;
animation-fill-mode: forwards;
visibility: hidden;
}
Если вы запустите этот код сейчас, вы увидите, что через 1 секунду все появляется сразу. Все, что нам нужно сделать, это выбрать отдельные абзацы по порядку и изменить продолжительность анимации.
.popIn *:nth-child(2) {
animation-duration: 2s;
}
.popIn *:nth-child(3) {
animation-duration: 3s;
}
Теперь абзацы будут отображаться один за другим, и сценарии не понадобились!