Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.06.2017, 17:49
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Вариант.

<script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/61811/web-animations-next-2.2.1.min.js'></script>
  <style>
    div {
      width: 40px;
      height: 40px;
      display: inline-block;
      opacity: 0;
    }
  </style>
<button>Start</button>
  <div style='background-color: red'></div>
  <div style='background-color: green'></div>
  <div style='background-color: blue'></div>
  <div style='background-color: orange'></div>
  <div style='background-color: yellow'></div>
  <script>
    const effects = {
      opacity: [0, 1]
    }
    
    const duration = 200;
    
    const getTiming = direction => ({duration, fill: 'forwards', direction})

    const normalKeyframeEffects = [];
    const reverseKeyframeEffects = [];
    
    const divs = document.querySelectorAll('div');

    for (const div of divs) {
      normalKeyframeEffects.push(new KeyframeEffect(div, effects, getTiming('normal')));
      reverseKeyframeEffects.unshift(new KeyframeEffect(div, effects, getTiming('reverse')));
    }

    const sEffects = [new SequenceEffect(normalKeyframeEffects), new SequenceEffect(reverseKeyframeEffects)];
    let nextEffect = 0;

    const play = () => {
      document.timeline.play(sEffects[nextEffect++%sEffects.length]);
      setTimeout(play, divs.length * duration);
    }

    document.querySelector('button').onclick = e => {
      e.target.remove();
      play();
    }
  </script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление div после заполнения input PonyS Общие вопросы Javascript 4 11.05.2016 18:20
Появление div не могу разобраться yura_yushkevich jQuery 6 07.12.2014 13:46
При наведении на элемент появление div, положение которого постоянно меняется Poision Элементы интерфейса 5 27.01.2014 19:43
появление div RogerUP Events/DOM/Window 3 05.08.2011 16:29
Появление блоков div в зависимости от radio Oracool Events/DOM/Window 1 04.12.2009 18:39