JSFiddle - React, Tailwind, and code Playground

by orjan

HTML

<!-- #dialog is the id of a DIV defined in the code below -->
<button onClick="#dialog-ed" name="modal" class="link">Simple Modal Window</button>
 
<div id="boxes">
 
     
    <!-- #customize your modal window here -->
 
    <div id="dialog-ed" class="window">
        <b>Testing of Modal Window</b> | 
         
        <!-- close button is defined as close class -->
        <a href="#" class="close">Close it</a>
 
    </div>
 
     
    <!-- Do not remove div#mask, because you'll need it to fill the whole screen --> 
    <div id="mask"></div>
</div>

CSS

/* Z-index of #mask must lower than #boxes .window */
#mask {
  position:absolute;
  z-index:9000;
  background-color:#000;
  display:none;
}
   
#boxes .window {
  position:fixed;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:20px;
  background-color:#fff;  
}

.link {
    position: fixed;
    z-index: 8000;
}

JavaScript

$(document).ready(function() {  
 
    //select all the button tags with name equal to modal
    $('button[name=modal]').click(function(e) {
        //Get the button tag
        var id = $(this).attr('onClick');
     
        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();
     
        //Set height and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});
         
        //transition effect     
        $('#mask').fadeIn(1000);    
        $('#mask').fadeTo("slow",0.8);  
     
        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();
               
        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);
     
        //transition effect
        $(id).fadeIn(2000); 
     
    });
     
    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();
        $('#mask, .window').hide();
    });     
     
    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });         
     
});