Hi there codeispoetry,
I forgot to mention that the code which I posted was
non-JavaScript unfriendly and just work in progress, 
Here is an updated version which addresses that problem…
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1">
<title>Untitled document</title>
<!--
The internal CSS should be transferred to an external file
<link rel="stylesheet" href="screen.css" media="screen">
-->
<style media="screen">
body {
background-color: #f0f0f0;
font: normal 1em / 1.62em sans-serif;
}
#content {
max-width: 36em;
padding: 1em;
margin: auto;
border: 1px solid #999;
background-color: #fff;
font-size: 1em;
}
#content p {
margin: 0;
}
.extra {
font-style: oblique;
color: #999;
}
</style>
</head>
<body>
<div id="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Vivamus tristique libero justo, vitae placerat magna lobortis eget.</p>
<p>Vivamus felis nunc, egestas a est ac, porta malesuada odio.</p>
<p>Integer imperdiet sollicitudin odio et congue.</p>
</div>
<script>
(function( d ) {
'use strict';
var k, c = 0,i = 0, st,
text = ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
'Vivamus tristique libero justo, vitae placerat magna lobortis eget.',
'Vivamus felis nunc, egestas a est ac, porta malesuada odio.',
'Integer imperdiet sollicitudin odio et congue.'
],
par = d.querySelectorAll( 'p' );
for ( k = 0; k < par.length; k ++ ) {
par[ k ].textContent = '\u00a0';
}
function typing( c ) {
if ( i === text.length) {
return;
}
if ( c < text[ i ].length && i < text.length ) {
par[i].textContent += text[ i ].charAt( c );
c ++;
st = setTimeout( function(){ typing( c ) }, 150 );
}
else {
clearTimeout( st );
par[i].classList.add( 'extra' );
c = 0;
i ++ ;
setTimeout( function(){ typing( c ) }, 150 );
}
}
typing( c );
}( document ));
</script>
</body>
</html>
coothead