javascript - Clearing an interval -


i'm studying javascript , i'm having difficulties , understanding why piece of code (see below) edited doesn't work. purpose pretty simple - want create button stops , runs time again. printed text sure code enters 'if' , 'else' statements, clearinterval doesn't seem work. appreciated!

(*the original code belongs w3schools, have added "loop function" see if work, , doesn't ;( )

this code:

<!doctype html> <html> <body>  <p>a script on page starts clock:</p>  <p id="demo"></p>  <button onclick="checktime()">stop time/start time again</button>  <p id="test"></p>  <script> var mycounter = 0; var myvar = setinterval(mytimer ,1000); function mytimer() {     var d = new date();     document.getelementbyid("demo").innerhtml = d.tolocaletimestring(); }  function checktime() {     mycounter += 1;     if (mycounter == 1) {         clearinterval(myvar);         document.getelementbyid("test").innerhtml = "ok";     } else {         var myvar = setinterval(mytimer ,1000);         mycounter = 0;         document.getelementbyid("test").innerhtml = "clicked again";     } } </script>  </body> </html> 

thanks!

just glanced @ code quickly, notice redeclaring myvar variable, variable being cleared when call clearinterval due funky feature in javascript called hoisting.

try following...

<script> var mycounter = 0; var myvar = setinterval(mytimer ,1000); function mytimer() {     var d = new date();     document.getelementbyid("demo").innerhtml = d.tolocaletimestring(); }  function checktime() {     mycounter += 1;     if (mycounter == 1) {         clearinterval(myvar);         document.getelementbyid("test").innerhtml = "ok";     } else {         myvar = setinterval(mytimer ,1000);         mycounter = 0;         document.getelementbyid("test").innerhtml = "clicked again";     } } </script> 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -