ABOUT ME

Why Typing Speed Is Important

 In today's fast-paced digital world, typing has become a basic skill for nearly everyone. From students to professionals, we all spend a significant amount of time on computers, smartphones, and other devices. While many people can type, not everyone types quickly or efficiently. Improving your typing speed can bring several benefits that affect your productivity, communication, and overall performance. Let’s explore why typing speed is so important.



1. Boosts Productivity

One of the main reasons typing speed is important is that it saves time. Whether you're writing emails, reports, essays, or coding, being able to type faster allows you to complete tasks more quickly. This means more work done in less time, which is essential in both academic and professional environments.

2. Improves Focus and Flow

When you type slowly, your thoughts often get interrupted as you search for the correct keys. This can break your focus and disrupt your creative or analytical flow. Fast and accurate typing allows your thoughts to flow freely onto the screen, helping you stay focused and more connected to your work.

3. Enhances Communication

In many jobs, clear and quick communication through typing is a daily requirement. Customer support, administrative roles, and remote work all rely heavily on written communication. Faster typing helps you respond more quickly, making conversations more efficient and increasing customer or client satisfaction.

4. Increases Confidence

When you know you can type fast and accurately, you approach tasks with more confidence. You won't feel anxious about meeting deadlines or keeping up with a conversation in a chat or online meeting. This self-assurance can also make you appear more professional.

5. Essential for Online Learning and Remote Work

With the rise of online education and remote jobs, typing has become a primary method of interaction. Fast typing helps students complete assignments and take notes efficiently. For remote workers, it ensures quick responses in virtual meetings, chats, and emails, which keeps work flowing smoothly.

6. Gives You a Competitive Edge

In job interviews or skills assessments, employers often test typing speed and accuracy. Having strong typing skills can set you apart from other candidates, especially in roles that involve data entry, content writing, transcription, or virtual assistance.

7. Reduces Physical Strain

Surprisingly, slow typing can lead to more physical strain. If you spend longer hours typing because you’re slow, it can increase the risk of repetitive strain injuries. Fast typists generally finish tasks faster, reducing the total time their hands and fingers are in use.

Conclusion

Typing is no longer just a secretarial skill — it's a life skill. In nearly every field, being able to type quickly and accurately gives you an edge. It saves time, increases productivity, and helps you communicate more effectively. Whether you're a student, a professional, or simply someone who spends a lot of time online, improving your typing speed is a valuable investment in your future success.

HTML Script

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>TypeRacer Pro - Test Your Speed</title>

    <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Roboto:wght@300;400;700&display=swap" rel="stylesheet">

    <style>

        :root {

            --primary-bg: #1a1a1a; /* Dark background */

            --secondary-bg: #2c2c2c; /* Slightly lighter dark */

            --primary-text: #f0f0f0; /* Light text */

            --danger-color: #ff3333; /* Bright Red */

            --danger-hover: #ff0000; /* Darker Red for hover */

            --border-color: #444;

            --success-color: #2ecc71;

            --error-color-bg: rgba(255, 51, 51, 0.3); /* For marking errors in text */

        }


        * {

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }


        body {

            font-family: 'Roboto', sans-serif;

            background-color: var(--primary-bg);

            color: var(--primary-text);

            line-height: 1.6;

            overflow-x: hidden; /* Prevent horizontal scroll from animations */

        }


        .container {

            width: 90%;

            max-width: 1100px;

            margin: auto;

            padding: 0 20px;

        }


        /* Header */

        header {

            background-color: var(--secondary-bg);

            padding: 1rem 0;

            border-bottom: 3px solid var(--danger-color);

            position: sticky;

            top: 0;

            z-index: 1000;

            animation: slideDown 0.5s ease-out;

        }


        header .container {

            display: flex;

            justify-content: space-between;

            align-items: center;

        }


        .logo {

            font-family: 'Orbitron', sans-serif;

            font-size: 2rem;

            color: var(--primary-text);

            animation: fadeIn 1s ease-in;

        }


        .danger-text {

            color: var(--danger-color);

        }


        nav ul {

            list-style: none;

            display: flex;

        }


        nav ul li {

            margin-left: 20px;

        }


        nav ul li a {

            color: var(--primary-text);

            text-decoration: none;

            font-weight: bold;

            transition: color 0.3s ease;

        }


        nav ul li a:hover {

            color: var(--danger-color);

        }


        /* Hero Section */

        .hero-section {

            padding: 60px 0;

            text-align: center;

            min-height: calc(100vh - 150px); /* Adjust based on header/footer height */

            display: flex;

            flex-direction: column;

            justify-content: center;

            align-items: center;

            animation: fadeIn 1s ease-in;

        }


        .hero-section h2 {

            font-family: 'Orbitron', sans-serif;

            font-size: 3rem;

            margin-bottom: 10px;

            animation: popIn 0.8s ease-out 0.5s backwards; /* Backwards fills animation before it starts */

        }


        .hero-section .subtitle {

            font-size: 1.2rem;

            margin-bottom: 30px;

            color: #ccc;

            animation: popIn 0.8s ease-out 0.7s backwards;

        }


        /* Typing Test Area */

        .typing-test-area {

            background-color: var(--secondary-bg);

            padding: 30px;

            border-radius: 10px;

            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);

            width: 100%;

            max-width: 700px;

            animation: slideUp 0.8s ease-out 0.9s backwards;

        }


        .sentence-display {

            font-size: 1.5rem;

            margin-bottom: 20px;

            padding: 15px;

            background-color: var(--primary-bg);

            border-radius: 5px;

            border: 1px solid var(--border-color);

            min-height: 70px; /* To prevent layout shift */

            line-height: 1.8;

            text-align: left;

            user-select: none; /* Prevent text selection */

        }


        .sentence-display span {

            transition: color 0.1s ease, background-color 0.1s ease;

        }

        .sentence-display .correct {

            color: var(--success-color);

        }

        .sentence-display .incorrect {

            color: var(--primary-text);

            background-color: var(--error-color-bg);

            text-decoration: underline;

            text-decoration-color: var(--danger-color);

            text-decoration-thickness: 2px;

        }

        .sentence-display .current {

            background-color: rgba(255, 51, 51, 0.2); /* Highlight current char with a subtle red */

            padding: 0 1px;

            border-radius: 2px;

            outline: 1px solid var(--danger-color);

        }



        #typing-input {

            width: 100%;

            padding: 15px;

            font-size: 1.2rem;

            border-radius: 5px;

            border: 1px solid var(--border-color);

            background-color: var(--primary-bg);

            color: var(--primary-text);

            resize: none; /* Prevent textarea resizing */

            font-family: 'Roboto', sans-serif;

        }


        #typing-input:focus {

            outline: none;

            border-color: var(--danger-color);

            box-shadow: 0 0 10px var(--danger-color);

        }


        .stats-controls {

            display: flex;

            justify-content: space-between;

            align-items: center;

            margin-top: 20px;

            flex-wrap: wrap; /* For smaller screens */

        }


        .stats {

            display: flex;

            gap: 15px;

            font-size: 1rem;

            flex-wrap: wrap;

        }

        .stat-item {

            background-color: var(--primary-bg);

            padding: 8px 12px;

            border-radius: 5px;

            border: 1px solid var(--border-color);

        }

        .stat-item span {

            font-weight: bold;

            color: var(--danger-color);

        }


        /* Buttons */

        .btn {

            padding: 12px 25px;

            border: none;

            border-radius: 5px;

            cursor: pointer;

            font-size: 1rem;

            font-weight: bold;

            transition: background-color 0.3s ease, transform 0.2s ease;

            text-transform: uppercase;

            letter-spacing: 1px;

        }


        .btn-primary {

            background-color: var(--danger-color);

            color: white;

        }


        .btn-primary:hover {

            background-color: var(--danger-hover);

            transform: translateY(-2px);

        }

        .btn-primary:active {

            transform: translateY(0);

        }



        .btn-secondary {

            background-color: #555;

            color: white;

        }

        .btn-secondary:hover {

            background-color: #777;

            transform: translateY(-2px);

        }

        .btn-secondary:active {

            transform: translateY(0);

        }



        .result-message {

            margin-top: 20px;

            font-size: 1.2rem;

            font-weight: bold;

            min-height: 2em; /* Prevent layout shift when message appears */

        }


        /* Features Section */

        .features-section {

            padding: 60px 0;

            background-color: var(--secondary-bg);

        }

        .features-section h2 {

            text-align: center;

            font-family: 'Orbitron', sans-serif;

            font-size: 2.5rem;

            margin-bottom: 40px;

        }

        .features-grid {

            display: grid;

            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

            gap: 30px;

        }

        .feature-item {

            background-color: var(--primary-bg);

            padding: 25px;

            text-align: center;

            border-radius: 8px;

            border: 1px solid var(--border-color);

            transition: transform 0.3s ease, box-shadow 0.3s ease;

        }

        .feature-item:hover {

            transform: translateY(-10px);

            box-shadow: 0 15px 30px rgba(255, 51, 51, 0.2);

        }

        .feature-item img { /* Placeholder for icons */

            margin-bottom: 15px;

            border-radius: 50%;

            background-color: var(--secondary-bg); /* Give icon bg */

        }

        .feature-item h3 {

            color: var(--danger-color);

            margin-bottom: 10px;

            font-size: 1.5rem;

        }


        /* About Section */

        .about-section {

            padding: 60px 0;

        }

        .about-section h2 {

            text-align: center;

            font-family: 'Orbitron', sans-serif;

            font-size: 2.5rem;

            margin-bottom: 20px;

        }

        .about-section p {

            text-align: center;

            max-width: 700px;

            margin: 0 auto;

            color: #ccc;

        }


        /* Footer */

        footer {

            background-color: var(--secondary-bg);

            color: #aaa;

            text-align: center;

            padding: 2rem 0;

            border-top: 3px solid var(--danger-color);

            margin-top: 40px;

        }


        /* Animations */

        @keyframes fadeIn {

            from { opacity: 0; }

            to { opacity: 1; }

        }


        @keyframes slideDown {

            from { transform: translateY(-100%); opacity: 0; }

            to { transform: translateY(0); opacity: 1; }

        }


        @keyframes slideUp {

            from { transform: translateY(50px); opacity: 0; }

            to { transform: translateY(0); opacity: 1; }

        }


        @keyframes popIn {

            0% { transform: scale(0.5); opacity: 0; }

            70% { transform: scale(1.05); opacity: 1; }

            100% { transform: scale(1); opacity: 1; }

        }


        /* Responsive adjustments */

        @media (max-width: 768px) {

            header .container {

                flex-direction: column;

            }

            nav ul {

                margin-top: 10px;

                justify-content: center;

            }

            nav ul li {

                margin: 0 10px;

            }

            .hero-section h2 {

                font-size: 2.5rem;

            }

            .stats-controls {

                flex-direction: column;

                gap: 15px;

            }

            .stats {

                justify-content: center;

                width: 100%;

                margin-bottom: 15px;

            }

            .btn {

                width: 100%;

                max-width: 300px; /* Limit button width on smaller screens */

                margin-left: auto;

                margin-right: auto;

                display: block;

            }

            #start-btn, #reset-btn {

                margin-bottom: 10px;

            }

            #reset-btn {

                 margin-bottom: 0;

            }

            .sentence-display {

                font-size: 1.2rem;

            }

            #typing-input {

                font-size: 1rem;

            }

        }


        @media (max-width: 480px) {

            .logo {

                font-size: 1.8rem;

            }

            .hero-section h2 {

                font-size: 2rem;

            }

            .hero-section .subtitle {

                font-size: 1rem;

            }

            .sentence-display {

                font-size: 1rem;

                min-height: 80px; /* Adjust for smaller font */

                line-height: 1.6;

            }

            .stats .stat-item {

                font-size: 0.9rem;

                padding: 6px 10px;

            }

            .typing-test-area {

                padding: 20px;

            }

        }

    </style>

</head>

<body>

    <header>

        <div class="container">

            <h1 class="logo">Type<span class="danger-text">Racer</span> Pro</h1>

            <nav>

                <ul>

                    <li><a href="#hero">Home</a></li>

                    <li><a href="#features">Features</a></li>

                    <li><a href="#about">About</a></li>

                    <li><a href="#contact">Contact</a></li>

                </ul>

            </nav>

        </div>

    </header>


    <main>

        <section id="hero" class="hero-section"><center>

            <div class="container">

                <h2>Unleash Your <span class="danger-text">Typing</span> Prowess!</h2>

                <p class="subtitle">Test your speed, accuracy, and become a typing champion.</p>

                

                <div class="typing-test-area">

                    <div id="sentence-display" class="sentence-display">

                        Click "Start Test" to load a sentence...

                    </div>

                    <textarea id="typing-input" placeholder="Start typing here once the test begins..." disabled rows="3"></textarea>

                    

                    <div class="stats-controls">

                        <div class="stats">

                            <div class="stat-item">Time: <span id="timer">0</span>s</div>

                            <div class="stat-item">WPM: <span id="wpm">0</span></div>

                            <div class="stat-item">Accuracy: <span id="accuracy">0</span>%</div>

                            <div class="stat-item">Errors: <span id="errors">0</span></div>

                        </div>

                        <button id="start-btn" class="btn btn-primary">Start Test</button>

                        <button id="reset-btn" class="btn btn-secondary" style="display:none;">Reset Test</button>

                    </div>

                </div>

                <div id="result-message" class="result-message"></div>

            </div>

        </section>


        <section id="features" class="features-section">

            <div class="container">

                <h2>Why <span class="danger-text">Choose</span> Us?</h2>

                <div class="features-grid">

                    <div class="feature-item">

                        <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23ff3333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-zap'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'%3E%3C/polygon%3E%3C/svg%3E" alt="Fast Icon">

                        <h3>Real-time Feedback</h3>

                        <p>Instant WPM, accuracy, and error tracking.</p>

                    </div>

                    <div class="feature-item">

                         <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23ff3333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-target'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='6'%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='2'%3E%3C/circle%3E%3C/svg%3E" alt="Accurate Icon">

                        <h3>Random Sentences</h3>

                        <p>Practice with a diverse set of sentences.</p>

                    </div>

                    <div class="feature-item">

                        <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23ff3333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-trending-up'%3E%3Cpolyline points='23 6 13.5 15.5 8.5 10.5 1 18'%3E%3C/polyline%3E%3Cpolyline points='17 6 23 6 23 12'%3E%3C/polyline%3E%3C/svg%3E" alt="Progress Icon">

                        <h3>Improve Your Skills</h3>

                        <p>Track your progress and become faster.</p>

                    </div>

                </div>

            </div>

        </section>

        

        <section id="about" class="about-section">

            <div class="container">

                <h2>About <span class="danger-text">TypeRacer</span> Pro</h2>

                <p>TypeRacer Pro is designed to help you enhance your typing speed and accuracy through a fun and engaging interface. Whether you're a student, professional, or just looking to improve your typing skills, we've got you covered. Our platform offers real-time feedback and a variety of sentences to keep you challenged.</p>

            </div>

        </section>


    </main>


    <footer id="contact">

        <div class="container">

            <p>© <span id="current-year"></span> TypeRacer Pro. All Rights Reserved. Designed with <span class="danger-text">Techpk</span>.</p>

            <p>Contact us: info@typeracerpro.com</p>

        </div>

    </footer>


    <script>

        document.addEventListener('DOMContentLoaded', () => {

            const sentences = [

                "The quick brown fox jumps over the lazy dog.",

                "Pack my box with five dozen liquor jugs.",

                "How vexingly quick daft zebras jump!",

                "Bright vixens jump; dozy fowl quack.",

                "The five boxing wizards jump quickly.",

                "A wizard's job is to vex chumps quickly in fog.",

                "Red Bull gives you wings, or so they say.",

                "JavaScript is a versatile and widely-used programming language.",

                "Practice makes perfect, especially in typing.",

                "Coding is an art, a science, and a craft.",

                "The rain in Spain stays mainly in the plain.",

                "To be or not to be, that is the question.",

                "Fast typists can often type over 100 words per minute.",

                "Accuracy is just as important as speed in typing tests.",

                "Many jobs require good typing skills in today's world.",

                "Challenge yourself daily to see improvements.",

                "The keyboard is your instrument; play it well.",

                "Black and red is a very striking color combination."

            ];


            const sentenceDisplay = document.getElementById('sentence-display');

            const typingInput = document.getElementById('typing-input');

            const timerDisplay = document.getElementById('timer');

            const wpmDisplay = document.getElementById('wpm');

            const accuracyDisplay = document.getElementById('accuracy');

            const errorsDisplay = document.getElementById('errors');

            const startBtn = document.getElementById('start-btn');

            const resetBtn = document.getElementById('reset-btn');

            const resultMessage = document.getElementById('result-message');

            const currentYearSpan = document.getElementById('current-year');


            currentYearSpan.textContent = new Date().getFullYear();



            let currentSentence = "";

            let originalSentenceArray = []; // For accurate comparison

            let startTime;

            let timerInterval;

            let errors = 0;

            let testActive = false;

            let totalCharsTyped = 0; // For more accurate WPM if user backspaces

            let grossCharsTyped = 0; // Total key presses including errors and corrections



            function getRandomSentence() {

                const randomIndex = Math.floor(Math.random() * sentences.length);

                return sentences[randomIndex];

            }


            function displaySentence() {

                currentSentence = getRandomSentence();

                originalSentenceArray = currentSentence.split('');

                sentenceDisplay.innerHTML = ''; // Clear previous

                originalSentenceArray.forEach(char => {

                    const charSpan = document.createElement('span');

                    charSpan.innerText = char;

                    sentenceDisplay.appendChild(charSpan);

                });

                // Highlight the first character

                if (sentenceDisplay.firstChild) {

                    sentenceDisplay.firstChild.classList.add('current');

                }

            }


            function startTest() {

                if (testActive) return;


                testActive = true;

                displaySentence();

                typingInput.value = "";

                typingInput.disabled = false;

                typingInput.focus();

                

                errors = 0;

                totalCharsTyped = 0;

                grossCharsTyped = 0;


                errorsDisplay.textContent = errors;

                wpmDisplay.textContent = 0;

                accuracyDisplay.textContent = 100; // Start with 100%

                timerDisplay.textContent = 0;

                resultMessage.textContent = "";

                resultMessage.style.color = "var(--primary-text)"; // Reset result message color


                startBtn.style.display = 'none';

                resetBtn.style.display = 'inline-block';

                

                startTime = new Date(); // Start timer immediately

                timerInterval = setInterval(updateTimerAndStats, 1000);

            }


            function updateTimerAndStats() {

                if (!testActive) return;


                const currentTime = new Date();

                const timeElapsedSeconds = Math.floor((currentTime - startTime) / 1000);

                timerDisplay.textContent = timeElapsedSeconds;


                if (grossCharsTyped > 0 && timeElapsedSeconds > 0) {

                    const wordsTyped = (grossCharsTyped / 5); // Standard WPM calculation based on gross chars

                    const minutesElapsed = timeElapsedSeconds / 60;

                    const wpm = Math.round(wordsTyped / minutesElapsed) || 0;

                    wpmDisplay.textContent = wpm;

                } else {

                    wpmDisplay.textContent = 0;

                }

            }


            typingInput.addEventListener('input', () => {

                if (!testActive) return;


                grossCharsTyped++; // Increment for every key press (good for raw WPM)

                

                const typedValue = typingInput.value;

                const sentenceChars = sentenceDisplay.querySelectorAll('span');

                let currentInputIndex = typedValue.length - 1;

                totalCharsTyped = typedValue.length;


                let currentCorrectChars = 0;

                let currentErrors = 0;


                sentenceChars.forEach((charSpan, index) => {

                    charSpan.classList.remove('correct', 'incorrect', 'current');

                    const typedChar = typedValue[index];


                    if (index < typedValue.length) { // Character has been typed or passed

                        if (typedChar === originalSentenceArray[index]) {

                            charSpan.classList.add('correct');

                            currentCorrectChars++;

                        } else {

                            charSpan.classList.add('incorrect');

                            currentErrors++;

                        }

                    } else if (index === typedValue.length) { // Next character to be typed

                        charSpan.classList.add('current');

                    }

                });

                

                errors = currentErrors;

                errorsDisplay.textContent = errors;


                // Accuracy calculation: (Correct Characters / Total Characters Typed So Far) * 100

                // Or (Length of sentence - errors) / Length of sentence * 100 when finished

                if (totalCharsTyped > 0) {

                    const accuracy = Math.round(((totalCharsTyped - errors) / totalCharsTyped) * 100);

                    accuracyDisplay.textContent = Math.max(0, accuracy); // Ensure accuracy isn't negative

                } else {

                    accuracyDisplay.textContent = 100;

                }



                if (typedValue.length === currentSentence.length) {

                    endTest();

                }

            });



            function endTest() {

                if (!testActive) return; // Prevent multiple calls

                testActive = false;

                clearInterval(timerInterval);

                typingInput.disabled = true;

                

                startBtn.style.display = 'inline-block';

                startBtn.textContent = "Try Again";

                resetBtn.style.display = 'none';


                // Final WPM and Accuracy Calculation

                const timeElapsedSeconds = parseInt(timerDisplay.textContent);

                const minutesElapsed = timeElapsedSeconds / 60;

                

                // Net WPM = ( (All Typed Entries / 5) - Uncorrected Errors ) / Time (in minutes)

                // Or we can use the WPM calculated based on grossCharsTyped, and show net accuracy.

                // Let's stick to the WPM already displayed, which is based on gross key presses.

                // And calculate final accuracy precisely.

                

                let finalCorrectChars = 0;

                for(let i = 0; i < currentSentence.length; i++) {

                    if (typingInput.value[i] === currentSentence[i]) {

                        finalCorrectChars++;

                    }

                }

                const finalAccuracyVal = currentSentence.length > 0 ? Math.round((finalCorrectChars / currentSentence.length) * 100) : 0;

                accuracyDisplay.textContent = finalAccuracyVal;



                const finalWPM = wpmDisplay.textContent; // This is Gross WPM

                

                // Optional: Calculate Net WPM

                // const netWords = ( (typingInput.value.length / 5) - errors )

                // const netWPM = minutesElapsed > 0 ? Math.round(netWords / minutesElapsed) : 0;

                // console.log("Net WPM:", netWPM);



                resultMessage.textContent = `Test Complete! WPM: ${finalWPM}, Accuracy: ${finalAccuracyVal}%.`;

                if (finalAccuracyVal >= 95 && parseInt(finalWPM) >= 60) {

                     resultMessage.textContent += " Phenomenal! You're a Pro! 🚀";

                     resultMessage.style.color = "var(--success-color)";

                } else if (finalAccuracyVal >= 90 && parseInt(finalWPM) >= 40) {

                    resultMessage.textContent += " Excellent Job! Keep it up. 👍";

                    resultMessage.style.color = "var(--success-color)";

                } else if (finalAccuracyVal >= 80 && parseInt(finalWPM) >= 25) {

                    resultMessage.textContent += " Good effort! Practice more. ✔️";

                    resultMessage.style.color = "var(--primary-text)";

                }

                 else {

                    resultMessage.textContent += " Keep practicing to improve. 💪";

                    resultMessage.style.color = "var(--danger-color)";

                }

            }


            function resetTest() {

                testActive = false;

                clearInterval(timerInterval);

                typingInput.disabled = true;

                typingInput.value = "";

                sentenceDisplay.innerHTML = 'Click "Start Test" to load a sentence...';

                timerDisplay.textContent = 0;

                wpmDisplay.textContent = 0;

                accuracyDisplay.textContent = 0;

                errorsDisplay.textContent = 0;

                resultMessage.textContent = "";

                resultMessage.style.color = "var(--primary-text)"; // Reset result message color

                

                startBtn.style.display = 'inline-block';

                startBtn.textContent = "Start Test";

                resetBtn.style.display = 'none';

            }


            startBtn.addEventListener('click', startTest);

            resetBtn.addEventListener('click', resetTest);

            

        });

    </script>

</body>

</html>




Post a Comment

0 Comments