JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://www.rich-harris.co.uk/ramjet/ramjet.js"></script>
<button id='go'>go</button>

<div class='a'>a</div>
<div class="a2">A2</div>
<div class='b'>a A2</div>

CSS

body {
    font-family: 'Helvetica Neue', arial;
}

.a, .a2, .b {
    width: 100px;
    height: 100px;
    line-height: 100px;
    color: white;
    text-align: center;
    font-size: 2em;
}

.a {
    background-color: #0074D9;
    float: left;
}

.b {
    background-color: #2ECC40;
    float: right;
    display:none;
}

.a2 {
    background-color: pink;
    position: absolute;
    bottom: 0
}

button {
    display: block;
    padding: 1em 2em;
    background-color: #eee;
    border: none;
    font-family: inherit;
    font-size: inherit;
    margin: 0 0 1em 0;
    cursor: pointer;
    color: #666;
    outline: none;
}

button:hover {
    background-color: #ddd;
    color: #333;
}

button:disabled {
    background-color: #eee;
    color: #666;
    opacity: 0.2;
    cursor: default;
}

JavaScript

a = document.querySelector( '.a' );
b = document.querySelector( '.b' );
a2 = document.querySelector('.a2');

go.addEventListener( 'click', function () {
    go.disabled = true;
    
    ramjet.transform( a, b, {
        done: function () {
            go.disabled = false;
        },
        duration: 2000,
        easing: ramjet.easeOut
    });
    ramjet.transform(a2, b, {
        done: function() {
            go.disabled = false;
        },
        duration: 2000,
        easing: ramjet.easeOut
    });
});