JSFiddle - React, Tailwind, and code Playground

by velo_ninja

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .divExpand {
      position: absolute;
      background-color: red;
      transition: width 0.5s, height 0.5s;
      width: 100px;
      height: 100px;
    }
  </style>
  
  
  <script>
  	
  
  </script>
  
  
  
  </head>
  <body>
    <script>
    	let body = document.body
      		body.style.backgroundColor = 'red';
          body.textContent = 'Click me';
          
          
      let myDiv = document.createElement('div');
      myDiv.style.backgroundColor = 'green';
      myDiv.style.height = '100px';
      myDiv.style.width = '100px';
      myDiv.style.border = '2px solid white';
          
      body.appendChild(myDiv);
          
          
          
          
          
          

      yyy('click', myDiv);
    

      
    function yyy(trigger, div) {console.log('a');
      div.addEventListener(trigger, createClickHandler(trigger, div));
      var divExpand;

      function createClickHandler(trigger, target) {console.log('b');
        return function (event) {
          xxx(event, trigger, target);
        };
      }

      function xxx(event, trigger, target) {console.log('x');
        if (divExpand) {
          if (target === divExpand.triggerElement) {
            document.body.removeChild(divExpand);
            divExpand = null;
          } else {
            document.body.removeChild(divExpand);
            divExpand = null;
            open_divExpand(event, trigger, target);
          }
        } else {
          open_divExpand(event, trigger, target);
        }
      }

      function open_divExpand(event, trigger, target) {console.log('running...');
        divExpand = document.createElement('div');
        divExpand.className = 'expand-div';
        var rect = target.getBoundingClientRect();
        var initialX = rect.left + rect.width / 2;
        var initialY = rect.top + rect.height /...