JSFiddle - React, Tailwind, and code Playground

HTML

<div data-type="percent" class="percent vertical-centered clearfix relative">
  <div id="number-percentage" class="number yellow">
    <div class="digit pull-left">
      <p class="nbr">0</p>
      <p class="nbr">1</p>
      <p class="nbr">2</p>
      <p class="nbr">3</p>
      <p class="nbr">4</p>
      <p class="nbr">5</p>
      <p class="nbr">6</p>
      <p class="nbr">7</p>
      <p class="nbr">8</p>
      <p class="nbr">9</p>
    </div>
    <div class="digit pull-left">
      <p class="nbr">0</p>
      <p class="nbr">1</p>
      <p class="nbr">2</p>
      <p class="nbr">3</p>
      <p class="nbr">4</p>
      <p class="nbr">5</p>
      <p class="nbr">6</p>
      <p class="nbr">7</p>
      <p class="nbr">8</p>
      <p class="nbr">9</p>
    </div>
  </div>
</div>
<div class="controls">
  <input type="number" name="percent" min="1" max="99" id="myNumber" class="input" value="1" />
</div>

CSS

body {
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 14px;
  line-height: 1.42857;
  color: #fff;
  background:#000;
  width: 600px;
  height: 100%;
}

p {
    display: block;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
}

.pull-left {
  float: left;
  display: block;
}

div.yellow, .yellow div {
    color: #ff0;
}


.digit {
    -webkit-transition: all 1s ease-in-out 0s;
    -khtml-transition: all 1s ease-in-out 0s;
    -moz-transition: all 1s ease-in-out 0s;
    -ms-transition: all 1s ease-in-out 0s;
    -o-transition: all 1s ease-in-out 0s;
    transition: all 1s ease-in-out 0s;
}

.percent .digit, .percent .after {
  font-size: 200px;
  line-height: 200px;
  margin-top: -25px;
}

.percent .after {
  margin-top: -28px;
}

#number-percentage {
  height: 150px; 
  overflow: hidden;
}


.controls {
  margin-top: 50px;
  width:100%;
}

.controls div {
  display: block;
  float: left;
  padding: 10px;
  cursor: pointer;
  text-decoration: underline;
}

.input {
  margin-top:2px;
  margin-left: 10px;
  padding: 8px;
  font-size: 16px;
  width: 100px;
  background-color: #111;
  color: white;
  border: 1px solid #333;
}

JavaScript

const runNumbers = function() {
  let dataNumber = $('#myNumber')
    .val()
    .split('')
    .forEach( function(e,i) {
          $('.digit')
            .eq(i)
            .css('margin-top', (200*e +25)*-1);
    }); 
}
$('#myNumber').change(runNumbers);