JSFiddle - React, Tailwind, and code Playground

JavaScript

window.onload= function() {
	window.addEventListener('mousemove', function(e) {

		var animate= function(i) {
			var image= document.createElement('div'); //create a div named bubble
      image.classList.add('trail');
			var size= 60;
			var sizepx= size+'px';
      image.style.transition='2s ease';
			image.style.position= 'fixed';
      
			image.style.top=  e.pageY - size/2 + 'px';
			image.style.left= e.pageX - size/2 + 'px';
			
      image.style.width= sizepx;
			image.style.height= sizepx;
			
     
     
			image.style.background= 'hsla(' +
			Math.round(Math.random()*360) + ', ' +
			'100%, ' +
			'50%';
			  
      // image.style.background= 'black';
      image.style.border= 'white 1px solid';
      
      image.style.pointerEvents= 'none';
			image.style.zIndex= 1;
			document.body.appendChild(image);
      
      //opacity and blur animations
     	window.setTimeout(function() {
				image.style.opacity = 0;
        image.style.filter = 'blur(6px)';
			}, 80);   

			window.setTimeout(function() {
				document.body.removeChild(image);
			}, 2100);
	 }; 
    


    
		for (var i= 1; i <= 1; i+= 1) {
			animate(i);
		}
    

	});
};