Показать сообщение отдельно
  #2 (permalink)  
Старый 23.08.2017, 22:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

magistr4815,
дополненный вариант https://toster.ru/q/261206
кликать по жёлтому блоку, для ускорения вращения
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    body{
      background: #202020;
    }

    div.rect {
      width: 150px;
      height: 150px;

      background: yellow;
    }
  </style>
</head>
<body>
  <div class="rect" id="rotate-rect"></div>
  <script>
    var rect = document.getElementById('rotate-rect');
    var a = 1, b = 0, c = 0, d = 1, tx = 100, ty = 100, angle = 0, currentAngle;
    var n = 3;
    function getAngleToRAD(){
      angle += n;
      if(angle >= 360){
        angle -= 360;
      }

      return angle * Math.PI / 180;
    }


    function update(){
      currentAngle = getAngleToRAD();

      rect.style.transform = 'matrix(' + Math.cos(currentAngle) + ',' + Math.sin(currentAngle) + ',' + -Math.sin(currentAngle) + ',' + Math.cos(currentAngle) + ',' + tx + ',' + tx + ')'
      window.requestAnimationFrame(update);
    }

            document.querySelector('.rect').addEventListener('click', function() {
               n += 3
            });

    update();
  </script>
</body>
</html>
Ответить с цитированием