Regarding (count down) timer for application in asp.net c# -


hi have created online quiz. have added count-down timer,label question & radiobuttonlist answers , next button next question. have code timer timer gets start again when click next button want count down timer whole questions(quiz). count down timer code(javascript) follows:

var hour=0;  //specify hours counter var min= '<%= session["timer"] %>';      // specify minutes   var second = '<%= session["second"] %>';    // specify seconds var lab = 'cd';  // id of entry on page counter(for question) inserted & cd span id in aspx page displaying countdown timer  function start()  {     displaycountdown(setcountdown(hour,min,second),lab); } loaded(lab,start); var pageloaded = 0;  window.onload = function() {pageloaded = 1;} function loaded(i,f)  {     if (document.getelementbyid && document.getelementbyid(i) != null)          f();      else if (!pageloaded)          settimeout('loaded(\''+i+'\','+f+')',100); } function setcountdown(hour,min,second)  {     if(hour>0)     min=min*hour*60;     c = setc(min,second);  return c; }  function setc(min,second)  { if(min>0) second=min*60*second; return math.floor(second); } function displaycountdown(countdn,cd)  {     if (countdn < 0)     {         document.getelementbyid(cd).innerhtml = "sorry, late.";          __dopostback('__page');     }     else      {         var secs = countdn % 60;          if (secs < 10)              secs = '0'+secs;         var countdn1 = (countdn - secs) / 60;         var mins = countdn1 % 60;          if (mins < 10)              mins = '0'+mins;         countdn1 = (countdn1 - mins) / 60;         var hours = countdn1 % 24;         document.getelementbyid(cd).innerhtml = hours+' : '+mins+' : '+secs;         settimeout('displaycountdown('+(countdn-1)+',\''+cd+'\');',999);     } } 

you must keep reference on "present" time relatively of "start" time , duration of quiz. so, substract "present" time start time.

    protected int hoursduration {         {             if (session["hoursduration"] == null) { session["hoursduration"] = 0; }             return convert.toint32(session["hoursduration"]);         }         set { session["hoursduration"] = value; }     }      protected int minutesduration {         {             if (session["minutesduration"] == null) { session["minutesduration"] = 0; }             return convert.toint32(session["minutesduration"]);         }         set { session["minutesduration"] = value; }     }      protected int secondsduration {         {             if (session["secondsduration"] == null) { session["secondsduration"] = 0; }             return convert.toint32(session["secondsduration"]);         }         set { session["secondsduration"] = value; }     }      protected int hoursleft {         {             return (this.endtime - this.begintime).hours;         }     }      protected int minutesleft {         {             return (this.endtime - this.begintime).minutes;         }     }      protected int secondsleft {         {             return (this.endtime - this.begintime).seconds;         }     }      protected datetime endtime {         {             if (session["endtime"] == null) { session["endtime"] = datetime.now; }             return convert.todatetime(session["endtime"]);         }         set { viewstate["endtime"] = value; }     }      protected datetime begintime {         {             if (session["begintime"] == null) { session["begintime"] = datetime.now; }             return convert.todatetime(session["begintime"]);         }         set { viewstate["begintime"] = value; }     }      protected override void oninit(eventargs e) {         this.begintime = datetime.now; // present time         if (!ispostback) {             // countdown             this.hoursduration = 0;             this.minutesduration = 10;             this.secondsduration = 0;             // on !postback, set when ends             this.endtime = this.begintime.addhours(this.hoursduration)                                        .addminutes(this.minutesduration)                                        .addseconds(this.secondsduration);         }         base.oninit(e);     } 

then, in javascript, call hoursleft, minutesleft , secondeleft. think should work.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -