Скрыть div, когда «animate-delay: 1s;» все еще продолжается и отображается после задержки

0

Я использую следующий файл CSS, чтобы добавить некоторые анимации на мой сайт, который я создаю: http://www.justinaguilar.com/animations/scrolling.html

Его концепция довольно проста: вы добавляете имена классов в свой div, чтобы они были анимированы, когда вы добираетесь до нее, когда вы прокручиваете страницу вверх/вниз.

Я хочу добавить там настройку, которая добавит небольшую задержку между каждой анимацией. Таким образом, все анимации в одной строке будут появляться один за другим, а не все вместе одновременно.

Моя идея заключалась в том, чтобы добавить имя класса, например: delay-1, и добавит анимированную задержку: 1s; к нему.

Вот живой пример того, что я хочу сделать. Прокрутите вниз и посмотрите, как "наш прогресс" отображает каждую анимацию с задержкой:

http://demo.qodeinteractive.com/river/home-anchors/#home_presentation

Это что-то, что я могу сделать только с CSS3? будет ли ответ "да" или нет, я был бы очень признателен за любую помощь.

Теги:
frontend

3 ответа

0

попробуйте определить класс следующим образом:

.delay-1 {
    animation-delay:1s !important;
    -webkit-animation-delay:1s !important;
}

не знаю, будет ли это работать... но стоит попробовать.. да... это сработает - это сработало для меня

  • 0
    Привет, я использую ключевые кадры. Я пытаюсь скрыть мой div, пока есть задержка, и отображать его позже.
0

Да, переход CSS3 сделает трюк, у меня есть демо-страница, созданная давно. Вы можете обратиться к нему.

Как вы можете видеть, первый элемент имеет задержку в 2 с, а второй элемент не имеет задержки. Удачи

#demo:hover {
width: 300px;
transition-delay: 2s
}

#demo1:hover {
width: 300px;
transition-delay: 0s
}

http://jsfiddle.net/zFbkL/

  • 0
    Файл анимации CSS3, о котором я упоминал в своем первом посте, использует ключевые кадры, поэтому моя цель - сделать div в видимости: нет; пока задержка идет. После задержки я хочу, чтобы он стал видимым: снова видимым. Но это не работает.
0

Вам все равно нужно добавить класс в раздел, когда вы прокручиваете его с помощью Javascript, но вы можете использовать nth-child() для каждого из них.

Скажем, 4 шага, которые вы могли бы сделать:

.steps .step:nth-child(1) { transition-delay: 1s; }
.steps .step:nth-child(2) { transition-delay: 2s; }
.steps .step:nth-child(3) { transition-delay: 3s; }
.steps .step:nth-child(4) { transition-delay: 4s; }

Хотя, с неизвестным количеством шагов вам лучше с этим справиться, я думаю.

$('.steps .step').each(function(i){
  $(this).css('animation-delay', i + 's');
});

Затем .steps анимацию, добавив класс в .steps.

.steps .step { trainsition: all 1s; opacity: 0; width: 0;}
.steps.in-view .step { opacity: 1; width: auto; }

Надеюсь, это то, к чему вы стремились.

  • 0
    Привет, Билл, спасибо за ваш ответ. Я на самом деле использую ключевые кадры. Моя цель - скрыть div, пока анимация задерживается, и показать его (visibility: visible) после. Это возможно?
  • 0
    Вы не можете оживить видимость. Вы можете анимировать прозрачность, которая есть у меня там.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню