Skip to content

Instantly share code, notes, and snippets.

@boazcstrike
Created September 21, 2017 06:26
Show Gist options
  • Save boazcstrike/8a0fc0674051f0f1937e7fc1d2af960b to your computer and use it in GitHub Desktop.
Save boazcstrike/8a0fc0674051f0f1937e7fc1d2af960b to your computer and use it in GitHub Desktop.
underline blinker for narrative typewrite
<h1>
<a href="" class="typewrite" data-period="2000" data-type='[ "Hi, Im Si.", "I am Creative.", "I Love Design.", "I Love to Develop." ]'>
<span class="wrap"></span>
</a>
</h1>
<style>
body {
font-family: 'Waiting for the Sunrise', cursive;
font-size:30px;
margin: 10px 50px;
letter-spacing: 6px;
font-weight: bold;
}
</style>
<script>
// set up text to print, each item in array is new line
var aText = new Array(
"There are only 10 types of people in the world:",
"Those who understand binary, and those who don't"
);
var iSpeed = 100; // time delay of print out
var iIndex = 0; // start printing array at this posision
var iArrLength = aText[0].length; // the length of the text array
var iScrollAt = 20; // start scrolling up at this many lines
var iTextPos = 0; // initialise text position
var sContents = ''; // initialise contents variable
var iRow; // initialise current row
function typewriter()
{
sContents = ' ';
iRow = Math.max(0, iIndex-iScrollAt);
var destination = document.getElementById("typedtext");
while ( iRow < iIndex ) {
sContents += aText[iRow++] + '<br />';
}
destination.innerHTML = sContents + aText[iIndex].substring(0, iTextPos) + "_";
if ( iTextPos++ == iArrLength ) {
iTextPos = 0;
iIndex++;
if ( iIndex != aText.length ) {
iArrLength = aText[iIndex].length;
setTimeout("typewriter()", 500);
}
} else {
setTimeout("typewriter()", iSpeed);
}
}
typewriter();
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment