JSFiddle - React, Tailwind, and code Playground

by Dragos Petre

HTML

<div id="rotator">
      <div class="elemente" id="elem1">Text1</div>
      <div class="elemente" id="elem2">Text2</div>
      <div class="elemente" id="elem3">Text3</div>
      <div class="elemente" id="elem4">Text4</div>
      <div class="elemente" id="elem5">Text5</div>
  </div>

CSS

@keyframes circle {
    from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}

@keyframes inner-circle {
    from { transform:rotate(0deg); }
    to { transform:rotate(-360deg); }
}


#rotator {
   width:350px;
    height:350px;
    margin:20px auto;
    font-size:10px;
    line-height:1;
    transform-origin: 50% 50%;
    animation:circle 25s linear infinite;
}

#rotator > div {
 background-color:#e1e1e1;
 animation:inner-circle 25s linear infinite;
 width:50px;
 height:50px;
}

JavaScript

$("document").ready(function(){
   
 
     var block = $("#rotator div").get(),
   	 increase = Math.PI * 2 / block.length,
   	 x = 0, y = 0,   angle = 0; 
     for (var i = 0; i < block.length; i++) {
        var elem = block[i];
        x = 140 * Math.cos(angle) + 150;
        y = 140 * Math.sin(angle) + 150;
        elem.style.position = 'absolute';
        elem.style.left = x + 'px';
        elem.style.top = y + 'px';
        var rot = 90 + (i * (360 / block.length));        
        angle += increase;
    		}     
        
$( "#rotator" )
  .mouseenter(function() {
	$('#rotator').css('-webkit-animation-play-state','paused');
  $('#rotator').css('-moz-animation-play-state','paused');
  $('#rotator').css('animation-play-state','paused');
  $('#rotator > div').css('-webkit-animation-play-state','paused');
  $('#rotator > div').css('-moz-animation-play-state','paused');
  $('#rotator > div').css('animation-play-state','paused');
  })
  .mouseleave(function() {
	$('#rotator').css('-webkit-animation-play-state','running');
  $('#rotator').css('-moz-animation-play-state','running');
  $('#rotator').css('animation-play-state','running');
  $('#rotator > div').css('-webkit-animation-play-state','running');
  $('#rotator > div').css('-moz-animation-play-state','running');
  $('#rotator > div').css('animation-play-state','running');  
  });

});