@wwwkat2015

Анимация плавающих блоков (кнопок)?

Имеется такой блок, с кнопками (блоками) разного размера, условно 5ec0fec170327822485053.png.

Нужно сделать, что бы все эти кнопки как-бы летали в блоке, не знаю, как найти JS под это.
Подскажите какие-то скрипты.

Сайт на wordpress + elementor, но этот блок скорее всего будет написан кодом
  • Вопрос задан
  • 264 просмотра
Решения вопроса 1
@wwwkat2015 Автор вопроса
Решение:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>Create a New Pen</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <link rel='stylesheet prefetch' href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css'>

  <script>
    $(document).ready(function() {
  $('.balloon').each(animateDiv);
});

function makeNewPosition() {

  // Get viewport dimensions (remove the dimension of the div)
  var h = $(window).height() - 50;
  var w = $(window).width() - 50;

  var nh = Math.floor(Math.random() * h);
  var nw = Math.floor(Math.random() * w);

  return [nh, nw];

}

function animateDiv() {
  var el = $(this);
  var newq = makeNewPosition();
  var oldq = $(el).offset();
  var speed = calcSpeed([oldq.top, oldq.left], newq);

  $(el).animate({
    top: newq[0],
    left: newq[1]
  }, speed, function() {
    animateDiv.apply(this);
  });

};


function calcSpeed(prev, next) {

  var x = Math.abs(prev[1] - next[1]);
  var y = Math.abs(prev[0] - next[0]);

  var greatest = x > y ? x : y;

  var speedModifier = .04;

  var speed = Math.ceil(greatest / speedModifier);

  return speed;

}
    </script>
    
</head>

<body>
 <style>
     .balloon {
          width: 50px;
          height: 50px;
          background-color: red;
          position: fixed;
    }
    </style>
  <div class='balloon'></div>
  <div class='balloon'></div>
  <div class='balloon'></div>

  <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
  <script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js'></script>

</body>

</html>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dekograph
@dekograph
UX/UI дизайнер
Поищи тут https://tympanus.net/codrops/category/tutorials/ может что то попадется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы