анимация ввода и вывода css3, которая повторяется, как только все будут показаны

#css #animation

#css #Анимация

Вопрос:

У меня есть фоновое изображение в виде карты. Я хочу, чтобы список отзывов (абсолютно позиционированных divs) появлялся и исчезал один за другим на указанной карте. Как только все будут показаны, это нужно повторить.

Как бы я реализовал это с помощью анимации css3?

Комментарии:

1. поделитесь своим написанным кодом..

Ответ №1:

Вы можете использовать анимации CSS3 и, отложив их, вы можете создать анимацию полного элемента, а затем использовать JS setInterval для перезапуска анимации. Это часто используемый способ создания объявлений AdWords.

Хорошей библиотекой с предопределенными анимациями является animate.css, и вам нужно рассчитать время прохождения всех анимаций и их завершения и установить интервал, который удаляет класс и добавляет его обратно каждый раз, когда выполняются анимации (общее время, необходимое для завершения всех анимаций).

Ответ №2:

трюк, который мне нравится использовать, заключается в переборе каждого элемента, который вы хотите показать, и смещении анимации на отрезок времени * индекс элемента. Вы могли бы обернуть это в функцию и вызвать ее после времени * длина массива элементов. Это фактически зациклило бы ее навсегда. Некоторый общий код, основанный на полусекундных анимациях, будет выглядеть как:

  function runThrough() {
        $('.your-elements').each(function(i,v) {
            var current = $(this);
            setTimeout(function() { 
                // do your animation e.g. $(current).fadeIn(500);            
            }, i * 500);        
        });
        setTimeout(runThrough(), $('.your-elements').length * 500 );
    }