Skip to main content
1 of 2
Gerrit0
  • 3.5k
  • 1
  • 13
  • 25

Your code already looks pretty clean. Good work! There are only a few things I would recommend changing.

  1. Don't define timings in CSS that should be defined in JavaScript. In this specific case using a transition made it possible to simplify the code significantly, however in a more involved example it would become problematic. What happens if one progress bar takes 2 seconds to complete, and another takes 5?

  2. Instead of using getElementsByClassName('cls')[0], you can use querySelector('.cls') for more readable code. Though this can be slower, it really isn't an issue unless it is being run thousands of times per second.

  3. There is a built in <progress> element that you may want to use.

  4. It is a good idea to wrap template elements in a <template> element.

Gerrit0
  • 3.5k
  • 1
  • 13
  • 25