JSFiddle - React, Tailwind, and code Playground

HTML

<!-- Attribution: http://www.flickr.com/photos/lnylnylny/4872910348/sizes/sq/in/photostream/ -->
<img class="biggie" src="http://farm5.staticflickr.com/4118/4872910348_dffaf664d4_s.jpg">

CSS

html {
  /* Attribution: http://www.flickr.com/photos/kajo0069/6075549232/sizes/m/in/photostream/ */
  background: no-repeat center 0 fixed url(http://farm7.staticflickr.com/6208/6075549232_a25a27c24d.jpg);
  text-align: center;
}

.biggie {
  margin: 600px auto;
  transition: margin-top 2s;
}

.going-going,
.back-back {
  margin-top: 100px;
}

JavaScript

var biggie = document.querySelector('.biggie');
biggie.addEventListener('transitionend', function f() {
    
  biggie.removeEventListener('transitionend', f);

  biggie.addEventListener('transitionend', function g() {
    startSiteNow();  // Never fires.
    biggie.removeEventListener('transitionend', g);
  });
  biggie.classList.add('back-back');
    
});
biggie.classList.add('going-going');

function startSiteNow() {
  alert('to cali cali');
}