javascript - counting unexpectedly increased by 2 in 2nd attempt, while i coded it to just increment by 1? -


i wrote jquery code generate words memory quiz. working fine except variable nq. in first attempt, code generates 3 words. after user has guessed correct word, goes on trial in generates 4 words.

however, in third trial unexpectedly generates 6 words instead of 5. unable find mistake. can help?

$(document).ready(function (){  // var arr used store temporary words generated in quiz  var arr=[];  // var t used ask question , match result using arr array  var t;  // var nq used set number of question in each attempt. variable not functioning right  var nq=2;  function arraysave(i,data){      arr[i]=data;  }  function arrayclear(){      arr=[];  }  function question(data){      t = data;  }  function nqplus(){      nq++;  }  function nqdef(){      nq=2;  }  alert("please leave if game , comment review if any");  $("#startgame").click(function(){  $("#firstpage").slideup(1000);  $("#secondpage").slidedown(1000);  });  $("#startgen").on('click',function(){  // stored words here in variable strings       var strings = ["apple","mango","peach","banana","orange","grapes","watermelon","tomato", "blackberry","blueberry", "chips", "bottle", "doubt", "class", "school", "country", "ocean", "foot", "hand", "hair", "mobile", "phone", "great", "sololearn", "love", "help", "sad", "bad", "good", "bottle", "neck", "laptop", "printer", "program", "relation", "ship", "true", "false", "query", "hate", "game", "guess", "name", "future", "present", "past", "city", "alone", "party"]; var count=-1; $("#startgen").hide();  //this function generate word every second in quiz var = setinterval(function (){ count++; var output = strings[math.floor(math.random() * strings.length)];     arraysave(count,output);     $("#words").text((count+1)+"="+output);     if(count==nq){clearinterval(i);         settimeout(function(){ $("#words").text("now click next");$("#next").show()}, 1000);      } },1000);  });  $("#nextfinal").on('click',function(){      $("#secondpage").slideup(1000);      $("#thirdpage").slidedown(1000);   //setting here variable t ask question e.g. word came @ place 3       var t = math.floor(math.random() * (nq+2));       if(t<1){           t=1;       }       if(t>(nq+1)){           t=(nq+1);       }       question(t);       $("#question").text("which word came @ place "+t);       });  //below function works when user submit answer after filling text box       $("#submit").on('click',function(){           var temp= $("#wordbox").val();           if(temp==arr[(t-1)]){               $("#thirdpage").slideup(1000);               $("#res").slidedown(1000);               $(".result").text("you win");               $("#nextlevel").on('click',function(){                  nqplus();                  arrayclear();                  $("#res").slideup(1000);                  $("#secondpage").slidedown(1000);                  $("#words").text("focus here");                  $("#next").hide();                  $("#startgen").show();               });           }           else{               $("#win").show();                $(".result").text("you loose");           }       }); }); 

its line:

 $("#nextlevel").on('click',function(){ 

you applying click event every time click submit button. need put block outside of submit block, since don't want keep reapplying click event.


Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -