52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
class typer{
|
|
|
|
constructor(text, retypeText){
|
|
this.i = 0;
|
|
this.x = 0;
|
|
this.item = document.getElementById("type");
|
|
this.text = text;
|
|
this.retypeText = retypeText;
|
|
}
|
|
|
|
type(){
|
|
this.item.innerHTML += this.text[this.x].charAt(this.i);
|
|
this.i++;
|
|
|
|
if (this.i < this.text[this.x].length) {
|
|
setTimeout(() => {
|
|
this.type();
|
|
}, 150);
|
|
}else{
|
|
if(this.retypeText == true){
|
|
this.i = 0;
|
|
setTimeout(() => {
|
|
this.retype();
|
|
}, 2000);
|
|
}
|
|
}
|
|
}
|
|
|
|
retype() {
|
|
this.item.innerHTML = this.item.innerHTML.substring(0, this.item.innerHTML.length-1);
|
|
|
|
if (this.item.innerHTML.length > 0) {
|
|
setTimeout(() => {
|
|
this.retype();
|
|
}, 100);
|
|
}else{
|
|
this.x++;
|
|
//this.x > this.text.length -1 || loop
|
|
if(this.x >= this.text.length - 1){
|
|
//this.x = 0;
|
|
this.retypeText = false;
|
|
}
|
|
this.type();
|
|
}
|
|
}
|
|
}
|
|
|
|
var pagetyper = new typer(["//Junior Software Developer", "//Aspiring Backend Engineer"], true);
|
|
|
|
setTimeout(() =>{
|
|
pagetyper.type();
|
|
}, 750) |