Edit in JSFiddle

function Countup(instanceContainer, instanceSpanClass, instanceCount) {
    var $container = instanceContainer,
        spanClass = instanceSpanClass,
        nextCount = instanceCount + 1,
        counterAnimationHeight = $container.height(),
        speedDefault = 0.6,
        i = 0;

    /* Count up animation */
    function makeSpan(newCount) {
      for (i = nextCount; i <= newCount; i++) {
        $container.append('<span class="'+spanClass+'">'+nextCount+'</span>');
        nextCount++;
      }
    }

    function countUp(speed) {
      var $spans = $container.find('span.'+spanClass),
          up = (counterAnimationHeight * ($spans.length - 1)) * -1;
      $spans.css({
        'top': up + 'px',
        'transition-duration': speed + 's'
      });
    }

    this.doUp = function(newCount, speed) {
      if (speed === undefined) {
        speed = speedDefault;
      }
      makeSpan(newCount);
      setTimeout(function () {
        countUp(speed);
      }, 100);
    }
}

// call like `var counter = new Countup($('#today-now'), 'today-num', 0)` where 0 is current count
var counter = new Countup($('#today-now'), 'today-num', 0);

setTimeout(function() {
	counter.doUp(1);
}, 2000);
<span id="today-now" class="today-now">
    <span class="today-num">0</span>
</span> / <span id="today-total">5</span>
.today-now {
  position: relative;
  display: inline-block;
  height: 110px;
  font-family: "PT Sans Narrow", "Nanum Gothic", sans-serif;
  font-size: 84px;
  font-weight: 300;
  text-align: right;
  vertical-align: -26px;
  overflow: hidden;
}
.today-now .today-num {
  position: relative;
  top: 0;
  display: block;
  height: 100%;
  transition: all 0.6s;
}