Dynamic Text Writer
The possibilities are |

I certainly can't take credit for the idea of creating a jQuery text writer, but I can take credit for coding my own version like the one you see at the top of the page. Below are the three components needed to make this work. The function accepts a single paramater of a comma delimeted string. Since the function also needs to be called after the page loads so it is wrapped within a $(window).on('load', function(){}); to prevent the viewer from having text be written before they are even able to see it.

HTML

<span class="writeText"></span> <span class="blinkingCursor"> |</span>

CSS

/* blinking animation */
@keyframes blink {
  to {
    visibility: hidden;
  }
}
@-webkit-keyframes blink {
  to {
    visibility: hidden;
  }
}
/* call the new blinking animation */
.blinkingCursor {
	animation: blink 1s steps(5, start) infinite;
	-webkit-animation: blink 1s steps(5, start) infinite;
}

JavaScript / jQuery

function dynamicTextWrite(listOfStrings) {
  $(window).on('load', function(){
    var stringsToWrite = listOfStrings.split(',');
    var delayAmount = 0;
    $.each(stringsToWrite, function(index,string){
      delayAmount += 1000;
      var thisString = stringsToWrite[index];
      thisString = $.trim(thisString);
      function stringToArray(string){
        newArray = [];
        for (i = 0; i < string.length; i++) {
          newArray.push(string[i]);
        }
        return newArray;
      }
      thisString = stringToArray(thisString);
      $.each(thisString, function(index,letter){
        setTimeout(function(){
          var newLetter = thisString[index];
          var $writeText = $('.writeText');
          var writeTextHtml = $writeText.html();
          if (newLetter != undefined) {
            $writeText.html(writeTextHtml + newLetter);
          }
        }, delayAmount)
        delayAmount += 100;
      });
      delayAmount += 2000;
      if ((index + 1) < stringsToWrite.length) {
        for (n = 0; n < thisString.length; n++) {
          setTimeout(function(){
            var removeLastLetter = thisString.pop();
            var newThisString = thisString.toString();
            newThisString = newThisString.replace(/,/gi, '');
            $('.writeText').html(newThisString);
          }, delayAmount)
          delayAmount += 100;
        }
      }
    });
  });
}
dynamicTextWrite("string,delimeted,list");