Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2020, 03:35
Аспирант
Отправить личное сообщение для ethereal Посмотреть профиль Найти все сообщения от ethereal
 
Регистрация: 06.05.2019
Сообщений: 94

Анимация на базе animejs
Здравствуйте! Помогите переделать код что бы он работал как мне надо.

Есть анимация на базе animejs https://animejs.com/documentation/

Посмотрите демо: https://codepen.io/ethereal94/pen/jObVzYN

Нужно немного переделать, сделать что бы анимация работала также, только во всех блоках одновременно(одинаково).

Я не силен в JS, искал в документаций, но так и не смог сделать. Может кто шарит в JS сможет сделать!

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2020, 08:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

animejs синхронизация
ethereal,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .item {
  width: 300px;
  height: 300px;
  background: coral;
  padding: 20px;
  margin: 20px;
  float: left;
}
.item-inner {
  width: 260px;
  height: 260px;
  background: green;
  padding: 20px;
}
.item-inner span {
  display: block;
}

button {
  background: red;
  display: block;
  margin-left: 20px;
}
  </style>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>
  <script>
$(function() {
$( "button" ).click(function() {
  var elements = [];
  var parent = document.querySelectorAll('.item .item-inner');
  parent.forEach(div => div.querySelectorAll('span').forEach(
  (span, i) => elements[i] ? elements[i].push(span) : (elements[i] = [span])
  ));
  elements.forEach((list, i) =>
  anime.timeline({loop: false})
  .add({
    targets: list,
    translateX: [0,40],
    translateZ: 0,
    easing: "easeOutExpo",
    duration: 1000,
    delay:  100 + 300 * i
  }).add({
    targets: list,
    translateX: [40,0],
    easing: "easeInExpo",
    duration: 1000,
    delay: 100 + 150 * i
  }));

});
});
  </script>
</head>
<body>
<button>Click!!!</button>

<div class="item">
  <div class="item-inner">
    <span>text 1</span>
    <span>text 2</span>
    <span>text 2</span>
  </div>
</div>

<div class="item">
  <div class="item-inner">
    <span>text 1</span>
    <span>text 2</span>
    <span>text 2</span>
  </div>
</div>

<div class="item">
  <div class="item-inner">
    <span>text 1</span>
    <span>text 2</span>
    <span>text 2</span>
  </div>
</div>

<div class="item">
  <div class="item-inner">
    <span>text 1</span>
    <span>text 2</span>
    <span>text 2</span>
  </div>
</div>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 23.04.2020, 04:04
Аспирант
Отправить личное сообщение для ethereal Посмотреть профиль Найти все сообщения от ethereal
 
Регистрация: 06.05.2019
Сообщений: 94

Спасибо большое! Не подскажешь еще как сделать что бы анимация начиналась с последнего пункта?
Ответить с цитированием
  #4 (permalink)  
Старый 23.04.2020, 08:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от ethereal
что бы анимация начиналась с последнего пункта?

elements.reverse().forEach
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы анимация числа работала не только при активном окне? Lefseq Общие вопросы Javascript 4 07.03.2020 09:53
Как реализована анимация на сайте популярной игры? whoIam Общие вопросы Javascript 6 19.09.2016 09:45
Анимация после анимации Narahon Элементы интерфейса 12 02.04.2015 22:06
Всем привет. Скрипт который сравнивает данные сайта с данными в базе.. strengerst Opera, Safari и др. 6 24.06.2012 22:17
помогите со js скриптом поиска по текстовой базе MorganStels Ваши сайты и скрипты 4 15.06.2010 10:03