How to show Page Loading div until the page has finished loading?
There are a lot of ways in which we can show a loading
document.readyState property. When the value of this property changes, a
readystatechange event fires on the document object.
document.readyState property can return these three string values:
loading: when the document is still loading.
interactive: when the document has finished loading but sub-resources such as stylesheets, images and frames are still loading.
complete: when the document and all sub-resources have finished loading.
readystatechange event fires and our function executes. If the document is not yet loaded then the body should remain hidden from the user, only the loader should be visible. Once the page has completely loaded we set loader’s display to none and we make the body visible.
To see the code in action, you need to follow these simple steps:
Step 1: Copy and paste the example code from above in a text editor and save it with .html extension.
Step 2: Open the .html file you saved then open your browser’s developer tool, go to the networks tab and set throttling to Slow 3G. Here’s a GIF to show you how to do it:
Step 3: Reload the page using ctrl + f5. Here’s how the final output looks like: