JSFiddle - React, Tailwind, and code Playground

by Denis

HTML

<a href="#dialog" name="modal">Открыть модальное окно</a>
<div id="boxes">
    <div id="dialog" class="window">
    Простое модальное окно <br>
    <span><a href="#" class="close"/>Закрыть его</a>
    </div>
    <div id="mask"></div>
</div>

CSS

#dialog {
    display: none;
}

JavaScript

function modalWin(id){
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();
        $('#mask').css({'width':maskWidth,'height':maskHeight});
        $('#mask').fadeIn(1000);
        $('#mask').fadeTo("slow",0.8);
        var winH = $(window).height();
        var winW = $(window).width();
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);
        $(id).fadeIn(2000);
}
$(document).ready(function() {
    $('a[name=modal]').click(function(e) {
        e.preventDefault();
        var id = $(this).attr('href');
        modalWin(id);
    });
    $('.window .close').click(function (e) {
        e.preventDefault();
        $('#mask, .window').hide();
    });
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });
});
modalWin('#dialog');