JSFiddle - React, Tailwind, and code Playground

JavaScript

function show_loader(a, cb) {
    $('body').append('<div>show_loader</div>');
    $('body').queue(cb);
}

function open_box(a, b, c, cb) {
    $('body').append('<div>open_box</div>');
    $('body').queue(cb);
}

function hide_loader(cb) {
    $('body').append('<div>hide_loader</div>');
    $('body').queue(cb);
}

function scroll_to_content(a, cb) {
    $('body').append('<div>scroll_to_content</div>');
    $('body').queue(cb);
}

$target_open = null;

show_loader(0, function(next) {
    open_box($target_open, event.value, '.wide-col', function(next) {
        hide_loader(function(next) {
            scroll_to_content($target_open, function(next) {
                next();
            });
            next();
        });
        next();
    });
    next();
});