javascript - How do I call a method within a function onclick? -


i'm trying create game tells how hot or cold compared random number. the user clicks button want checknumber method run. how go this? feel free let me know things wrong code i'm trying learn.

so far have tried in html:

<button type="submit" id="userguess" onclick="hotcold().checknumber()"></button> 

in js:

function hotcold(){     var realnumber = 0;     var newgame = function(){         realnumber = math.floor(math.random() * 100)+1         return realnumber     }      var checknumber = function (){          var userinput = parseint(document.getelementbyid("userguess").value);          var message ;           if ( userinput == realnumber){ message = " job did it"}          else if (math.abs(userinput - realnumber) > 30){ var message = "you're colder cold "}          else if (math.abs(userinput - realnumber) <= 30 && math.abs(userinput - realnumber) > 10 ){  message = " you're getting closer"}          else if (math.abs(userinput - realnumber) <= 10 && math.abs(userinput - realnumber) > 2 ){ message = " you're hot, im scared"}          else if (math.abs(userinput - realnumber) <= 2){ message = " if don't next turn, wrong you"}          else { message = " skjdksjhdsk "}           alert(realnumber);          alert(message);    }     return realnumber; } 

<input type="text" id="userguess></input> <button onclick="checknumber()">click guess!</button>  <script>     var realnumber;   var newgame = function(){     realnumber = math.floor(math.random() * 100) + 1;   };    newgame();      var checknumber = function (){      var userinput = parseint(document.getelementbyid("userguess").value);      var message;       //always use 3 '=' signs in javascript when comparing values      if (userinput === realnumber) {         message = " job- did it!";         newgame();      } else if (math.abs(userinput - realnumber) > 30) {         // 'message' variable declared. don't use 'var' again here        message = "you\'re colder cold";       } else if (math.abs(userinput - realnumber) <= 30 && math.abs(userinput - realnumber) > 10 ) {         message = "you\'re getting closer...";      } else if (math.abs(userinput - realnumber) <= 10 && math.abs(userinput - realnumber) > 2 ) {        message = "you\'re hot, i\'m scared";       } else if (math.abs(userinput - realnumber) <= 2){        message = "if don\'t next turn, something\'s wrong you";       }      //not sure why want show user real number before guessed      //alert(realnumber);       alert(message);   };  </script> 

here's quick tip you: save typing , unnecessary function calls saving result of math.abs(userinput - realnumber) variable:

 ...  var userinput = parseint(document.getelementbyid("userguess").value);  var difference =  math.abs(userinput - realnumber);   var message;  ...  } else if (difference > 30) {  ... 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -