JSFiddle - React, Tailwind, and code Playground

JavaScript

var Overlay = function(resource, type, needle, callback) {
    var $overlay = this,
        $anim = 500;

    if (resource == "iframe") {
       $overlay = $("<div></div>").addClass("overlay").hide()).append( $("<div></div>"));

       $overlay.find(".popup").html( "<iframe id='iframe' class='youtube' height='500' src='/assets/overlay/video.php?id=" + needle + "&callback='" + callback + "''></iframe>" );
    }
    else if (resource == "json") {
        $.getJSON("/assets/js/resources/overlay-data.json", function(data) {
            if (type == "content") {
                console.log(resource, type, needle, callback);
                console.log("test");

                $overlay = $("<div></div>").addClass("overlay")
                    .append( $("<div></div>").addClass("popup col-lg-4 col-md-8 col-sm-9 col-xs-11")
                        .append( $("<div></div>").addClass("body"))
                    );

                if (data[needle].header == true) {
                    $overlay.find(".popup").prepend( $("<div></div>").addClass("title").html( $("<span></span>").text(data[needle].header_title) ));
                }
                
                console.log("test2");

                if (data[needle].title !== undefined)
                    $overlay.find(".popup").find("div.body").append( $("<h4></h4>").html(data[needle].title) );

                if (data[needle].content !== undefined)
                    $overlay.find(".popup").find("div.body").append( $("<p></p>").addClass("txt").html(data[needle].content) );

                if (data[needle].form_elements !== undefined) {
                    $overlay.find(".popup").find("div.body")
                        .append( $("<form></form>").attr({
                                'action': "",
                                'method': "POST",
                                'class': data[needle].classname
                            })
                        )
                }
                
              ...