Untitled
unknown
javascript
17 days ago
2.4 kB
7
Indexable
Never
<script> const words = ['Student', 'Developer', 'Computer Engineer']; let currentWordIndex = 0; // Track the index of the current word let currentText = ''; // Track the current text being typed let isDeleting = false; // Track whether we are typing or deleting let typeSpeed = 150; // Speed for typing let deleteSpeed = 75; // Speed for deleting let pauseBeforeDeleting = 2000; // Pause before starting to delete the fully typed word let pauseBetweenWords = 500; // Pause between deleting and typing the next word function typeWriter() { const currentWord = words[currentWordIndex]; // Get the current word based on the index if (!isDeleting) { // Typing logic - Add characters to the text currentText = currentWord.substring(0, currentText.length + 1); } else { // Deleting logic - Remove characters from the text currentText = currentWord.substring(0, currentText.length - 1); } // Update the text in the DOM document.getElementById('typewriter').textContent = currentText; // When the word is fully typed, start the deleting process after a pause if (!isDeleting && currentText === currentWord) { setTimeout(() => isDeleting = true, pauseBeforeDeleting); } // When the word is fully deleted, move to the next word else if (isDeleting && currentText === '') { isDeleting = false; currentWordIndex = (currentWordIndex + 1) % words.length; // Move to the next word, loop back at the end setTimeout(typeWriter, pauseBetweenWords); // Pause between words before typing the next one return; // Exit the function to prevent immediate re-typing after deleting } // Set the appropriate typing or deleting speed let speed = isDeleting ? deleteSpeed : typeSpeed; // Call the function again to continue typing or deleting setTimeout(typeWriter, speed); } // Start the typewriter effect after the page loads document.addEventListener('DOMContentLoaded', typeWriter); </script>
Leave a Comment