JSFiddle - React, Tailwind, and code Playground

HTML

<div>hi</div>
<button>Do animation</button>

CSS

body {
    font-size: 3em;
}

JavaScript

document.querySelector('button').addEventListener('click', function() {
    var el = document.querySelector('div'),
        st = el.style;
    st.transition = '';
    st.opacity = 0;
    requestAnimationFrame(function() {
        st.transition = 'opacity 2s';
        st.opacity = 1;
    });
});