Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6970233
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T16:41:01+00:00 2026-05-27T16:41:01+00:00

I created a tool that checks a password strength. the result is given as

  • 0

I created a tool that checks a password strength. the result is given as a number between 0 to 100. to make things nicer, I created a setTimeout function to make the numbers increase or decrease gradually like a counter.

here is a link to the full code in jsfiddle

you will notice that the function works properly when the value increases but not when the value decreases. I believe the problem is in this piece of code:

function run() {
    var i = lastGrade;

    setTimeout( function updateProgress() {
        x.style.width = i*1.5 + 'px';
        s.innerHTML = i + '%';
        if(lastGrade <= grade) {
            if (i < grade){
                setTimeout(updateProgress, 10);
            }
            i++;
        }
        else if(lastGrade > grade) {
            if (i > grade){
                setTimeout(updateProgress, 10);
            }
            i--;
        }
    }, 10);
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T16:41:02+00:00Added an answer on May 27, 2026 at 4:41 pm

    The issue is that you are updating lastGrade before the timeouts run. This was actually affecting both the up and down meter animation, but was more apparent on the decreasing animation.

    A more functional example is here: http://jsfiddle.net/MrywR/

    However, you’ll probably want to tweak the code so that lastGrade is used as the animation meter, to keep the bar from bouncing.

    Changed code:

    setTimeout( function updateProgress() {
        x.style.width = i*1.5 + 'px';
        s.innerHTML = i + '%';
        if(lastGrade <= grade) {
            if (i < grade){
                setTimeout(updateProgress, 10);
            } else {
                lastGrade = grade;
            }
            i++;
        }
        else if(lastGrade > grade) {
            if (i > grade){
                setTimeout(updateProgress, 10);
            } else {
                lastGrade = grade;
            }
            i--;
        }
    }, 10);
    

    Update

    This version handles the animation much better overall: http://jsfiddle.net/5yeP7/1/

    It handles quick typing, removes some unnecessary closures, and encapsulates the methods as local variables.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to create a tool that can generate XSDs for the XAML produced
Are you aware of any tool that creates diagrams showing the branch/merge activity in
Looking for a tool that will automatically create a graphical representation of a MySQL
Does anybody know of a tool that will allow me to create ASDoc style
Does anyone know of a reasonably priced tool that will create DDL statements to
First, context: I'm trying to create a command-line-based tool (Linux) that requires login. Accounts
I open-sourced a tool I created to scratch an itch. From the downloads for
I created an .png image from a video using ffmpeg tool and i want
I created a GridView in an ASP.NET application and used the Auto Format tool
I created a protected folder on my ASP.NET site with the ASP.NET Configuration tool.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.