<div class="container entrances">
  <h2>Entrances</h2>

  <div class="button-row">
    <form>
      <select class="animationlist">
							<optgroup label="FadeIn">
								<option value="tdFadeIn">tdFadeIn</option>
								<option value="tdFadeInDown">tdFadeInDown</option>
								<option value="tdFadeInLeft">tdFadeInLeft</option>
								<option value="tdFadeInUp">tdFadeInUp</option>
								<option value="tdFadeInRight">tdFadeInRight</option>
							</optgroup>
							<optgroup label="ExpandIn">
								<option value="tdExpandIn">tdExpandIn</option>
								<option value="tdExpandInBounce">tdExpandInBounce</option>
							</optgroup>
							<optgroup label="ShrinkIn">
								<option value="tdShrinkIn">tdShrinkIn</option>
								<option value="tdShrinkInBounce">tdShrinkInBounce</option>
							</optgroup>
							<optgroup label="StampIn">
								<option value="tdStampIn">tdStampIn</option>
								<option value="tdStampInSwing">tdStampInSwing</option>
							</optgroup>
							<optgroup label="SwingIn">
								<option value="tdSwingIn">tdSwingIn</option>
							</optgroup>
							<optgroup label="DropIn">
								<option value="tdDropInLeft">tdDropInLeft</option>
								<option value="tdDropInRight">tdDropInRight</option>
							</optgroup>
							<optgroup label="PlopIn">
								<option value="tdPlopIn">tdPlopIn</option>
								<option value="tdPlopInDown">tdPlopInDown</option>
								<option value="tdPlopInUp">tdPlopInUp</option>
							</optgroup>
							<optgroup label="HingeFlip">
								<option value="tdHingeFlipIn" selected>tdHingeFlipIn</option>
							</optgroup>
						</select>

      <button class="button animate">Animate</button>
    </form>
  </div>

  <div class="target">
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus eveniet unde magnam sequi, iusto, amet iste necessitatibus, impedit nam reiciendis quae corrupti earum quia similique eius aut cupclassitate ipsa et.
  </div>
  <div class="guide"></div>
</div>

<div class="container exits">
  <h2>Exits</h2>

  <div class="button-row">
    <form>
      <select class="animationlist">
							<optgroup label="FadeOut">
								<option value="tdFadeOut">tdFadeOut</option>
								<option value="tdFadeOutDown">tdFadeOutDown</option>
								<option value="tdFadeOutLeft">tdFadeOutLeft</option>
								<option value="tdFadeOutUp">tdFadeOutUp</option>
								<option value="tdFadeOutRight">tdFadeOutRight</option>
							</optgroup>
							<optgroup label="ExpandOut">
								<option value="tdExpandOut">tdExpandOut</option>
								<option value="tdExpandOutBounce">tdExpandOutBounce</option>
							</optgroup>
							<optgroup label="ShrinkOut">
								<option value="tdShrinkOut">tdShrinkOut</option>
								<option value="tdShrinkOutBounce">tdShrinkOutBounce</option>
							</optgroup>
							<optgroup label="SwingOut">
								<option value="tdSwingOut">tdSwingOut</option>
							</optgroup>
							<optgroup label="HingeFlip">
								<option value="tdHingeFlipOut" selected>tdHingeFlipOut</option>
							</optgroup>
						</select>

      <button class="button animate">Animate</button>
    </form>
  </div>

  <div class="target">
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus eveniet unde magnam sequi, iusto, amet iste necessitatibus, impedit nam reiciendis quae corrupti earum quia similique eius aut cupclassitate ipsa et.
  </div>

  <div class="guide"></div>
</div>
/* stylesheet for tuesday demo page */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: local('Lato Black Italic'), local('Lato-BlackItalic'), url(https://fonts.gstatic.com/s/lato/v15/S6u_w4BMUTPHjxsI3wi_Gwfo.ttf) format('truetype');
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v15/S6uyw4BMUTPHjx4wWw.ttf) format('truetype');
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Lato Bold'), local('Lato-Bold'), url(https://fonts.gstatic.com/s/lato/v15/S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype');
}
.font-default {
  font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
}
input,
select,
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}
a {
  color: #9fc33e;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 85%;
}
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
  display: table;
  overflow: hidden;
}
/* main style start */
#page {
  width: 100%;
  text-align: center;
  position: relative;
  padding: 20px 0;
  vertical-align: middle;
  display: table-cell;
}
h1 {
  font-size: 4em;
  font-weight: 900;
  margin: 30px 0 0 0;
  font-style: italic;
  animation-duration: 0.5s !important;
}
p.subheader {
  font-size: 1.2rem;
  margin: 10px 0 30px 0;
  color: #666;
}
h2 {
  margin: 0 0 15px 0;
}
.container {
  position: relative;
  display: inline-block;
  width: 400px;
  height: 240px;
  padding: 20px 30px 40px 30px;
  margin: 0 auto 10px auto;
  text-align: center;
  border: 1px solid #ddd;
}
.button-row {
  width: 100%;
  height: 50px;
  margin: 0 auto;
  text-align: center;
}
select.animationlist {
  width: 200px;
  display: inline-block;
  height: 40px;
  padding: 10px 15px;
  margin: 0 5px 0 0;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='24'><path fill='%23aaa' d='M8 11l4 4 4-4z'/></svg>");
  background-repeat: no-repeat;
  background-position: right center;
  border: none;
  box-shadow: 0 0 0 1px #aaa inset;
  line-height: 22px;
  vertical-align: top;
  font-size: 16px;
  border-radius: 0;
  cursor: pointer;
  outline: none;
}
select.animationlist:hover {
  box-shadow: 0 0 0 1px #999 inset;
}
select.animationlist:focus {
  box-shadow: 0 0 0 2px #b2cf65 inset;
  text-decoration: none;
  outline: none;
}
select.animationlist optgroup {
  font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
  padding: 5px 0;
  text-indent: 5px;
  border-bottom: 1px solid #aaa;
}
select.animationlist optgroup:last-child {
  border: none;
}
select.animationlist option {
  font-family: 'Lato', 'Helvetica Neue', 'Helvetica', sans-serif;
  padding: 5px;
  text-indent: 12px;
}
button {
  display: inline-block;
  vertical-align: top;
  width: 150px;
  height: 40px;
  padding: 6px 15px;
  margin: 0 5px 10px 0;
  border: 2px solid transparent;
  background: #b2cf65;
  font-size: 1rem;
  font-weight: bold;
  line-height: 22px;
  text-align: center;
  color: #fff;
  text-decoration: none !important;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 2px;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0) inset;
  border-radius: 0;
  transition-property: background, border-color, color, box-shadow, opacity;
  transition-duration: 0.15s;
  white-space: pre;
}
button:hover {
  text-decoration: none;
  box-shadow: 0 2px 4px -2px rgba(0, 0, 0, 0.2);
  color: #fff;
  background-color: #c5db8c;
  border-color: #9fc33e;
}
button:active {
  text-decoration: none;
  box-shadow: 0 0px 1px rgba(0, 0, 0, 0.2);
  background-color: #9fc33e;
  border-color: #9fc33e;
  color: #fff;
  transition-duration: 0s;
}
button:focus {
  text-decoration: none;
  outline: none;
  color: #fff;
}
button.disabled {
  background: #aaa;
  color: #fff;
  pointer-events: none;
}
button.disabled:hover,
button.disabled:active,
button.disabled:focus {
  background: #666;
  box-shadow: none;
  border: none;
}
.target {
  position: absolute;
  bottom: 50px;
  background: #eee;
  width: 400px;
  height: 100px;
  box-sizing: border-box;
  padding: 15px 20px;
  border-radius: 3px;
  margin: 0;
  text-align: center;
  font-size: 1rem;
  color: #333;
}
.guide {
  position: absolute;
  bottom: 50px;
  background: #eee;
  width: 400px;
  height: 100px;
  box-sizing: border-box;
  padding: 15px 20px;
  border-radius: 3px;
  margin: 0;
  text-align: center;
  font-size: 1rem;
  color: #333;
  opacity: 0.2;
  border: 1px solid red;
}
.hidden {
  display: none;
}
.credits {
  color: #999;
  margin: 10px 0;
}
.credits .shakr-logo {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto;
}
.credits .shakr-logo svg {
  width: 100%;
  height: 100%;
}
.container.entrances .target {
  opacity: 0;
}
.container.exits .target.animated {
  opacity: 0;
}
/* set animations */
.guide {
  display: none !important;
}
@media screen and (max-width: 460px) {
  html {
    font-size: 70%;
  }
  h1 {
    font-size: 4em;
  }
  p.subheader {
    padding: 0 10px;
  }
  .container {
    width: 100%;
    height: 230px;
    display: block;
    box-sizing: border-box;
    padding: 20px 20px;
    border: none;
    border-top: 1px solid #ddd;
  }
  .container.exits {
    border-bottom: 1px solid #ddd;
  }
  select.animationlist {
    width: 150px;
  }
  button {
    width: 120px;
    margin: 0;
  }
  .target {
    width: calc(100% - 40px);
    left: inherit;
    height: auto;
    bottom: 10px;
  }
}
$("button").click(function(e) {
  e.preventDefault();

  var that = this;
  var container = $(that).parents(".container");
  var currentAnimation = container.find(".animationlist").val();
  var target = container.children(".target");

  if ($(that).is(".animate")) {
    $(that)
      .addClass("disabled")
      .text("Animating...");
    target.addClass("animated " + currentAnimation);

    target.one(
      "webkitAnimationEnd oanimationend msAnimationEnd animationend",
      function(e) {
        $(that)
          .removeClass("disabled animate")
          .addClass("reset")
          .text("Reset");
      }
    );
  } else {
    $(that)
      .removeClass("reset")
      .addClass("animate")
      .text("Animate");
    target.attr("class", "").addClass("target");
  }
});

$(".animationlist").change(function() {
  var that = this;
  var container = $(that).parents(".container");

  container
    .find("button")
    .attr("class", "")
    .addClass("animate")
    .text("Animate");
  container
    .children(".target")
    .attr("class", "")
    .addClass("target");
});

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/tuesday/1.2.3/tuesday.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js