+ 1

Script isn't working?

I have been attempting to create a loading sign using javascript and html, but for some reason this html won't work: <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <p id = "loading"> Loading 0% </p> <button onclick = "loading()"> Begin Loading </button> </body> <script> var loadsign = 0 function loading() { setTimeout( while (loadsign < 100) var load = document.getElementById ("loading").innerHTML = "Loading " + loadsign + "%"; loadsign++ ), 500; loading() } </script> </html> Any suggestions?

19th Apr 2017, 1:51 AM
iBrandon
iBrandon - avatar
5 Answers
+ 7
the bracket for setTimeout is ended early, place it after the '500'. setTimeout will execute it after 500 miliseconds, now you have infinite recursion (though forgot a semi-colon on the function call) constantly doing that, and re-setting everything. I believe what you're look for is setInterval() which will constantly repeat something (check it out). https://www.w3schools.com/jsref/met_win_setinterval.asp
19th Apr 2017, 2:13 AM
Rrestoring faith
Rrestoring faith - avatar
+ 6
<!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <p id = "loading"> Loading 0% </p> <button onclick = "loading()"> Begin Loading </button> </body> <script> var loadsign = 0; var load = document.getElementById ("loading"); function loading() { var timer = setInterval(function(){ load.innerHTML = "Loading " + loadsign + "%"; loadsign++; if(loadsign > 100){ clearInterval(timer); } }, 500); } </script> </html>
19th Apr 2017, 2:07 AM
Ashwani Kumar
Ashwani Kumar - avatar
+ 5
My last comment is a working code. You can try. Things to note: 1) While not needed when using setTimeout 2) Check syntaxes for setTimeout 3) getElementById need to be done outside only once. 4) Since you want the function to be called repeatedly after every half a sec so you can use setInterval rather than setTimeout.
19th Apr 2017, 2:10 AM
Ashwani Kumar
Ashwani Kumar - avatar
+ 1
Thanks for the help! Its working now 😃
19th Apr 2017, 12:29 PM
iBrandon
iBrandon - avatar
0
I am new to getElementById so I am a noob 😂
19th Apr 2017, 1:55 AM
iBrandon
iBrandon - avatar