I'm currently working on my online quiz application. It is based on ASP.
I want to add the countdown timer in every quiz that run.
But the problem is the javascript will go freeze in my ASP, it only run each time i refreshed the page.
Some suggest me to use the clientside javascript to get the time running.
Anybody can help me with this?
Your help is very much to me. Thanks.

Recommended Answers

All 5 Replies

Try here

http://www.javascript-page.com/timer.html

God I love Google

Okay now i can see it.
Well how can set up the limitation time.
I wrote the code :
If document.theTimer.theTime.value = "01:00" {
Stop();
}
But the clock dont even run.
Im new in Java, so any help will be great. Thanks.

Make sure you have these options in the html body tag <body onload="Reset()" onunload="Stop()"> Regards

D

Make sure you have these options in the html body tag

<body onload="Reset()" onunload="Stop()">

Regards

D

OKAY here is the code :

I think i miss-place the limitation code.

The limitation code is :

If document.theTimer.theTime.value = "01:00" {
    Stop();
}

Where should i place the code?

<script language="JavaScript">

<!--
// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

var timerID = 0;
var tStart  = null;

function UpdateTimer() {
   if(timerID) {
      clearTimeout(timerID);
      clockID  = 0;
   }

   if(!tStart)
      tStart   = new Date();

   var   tDate = new Date();
   var   tDiff = tDate.getTime() - tStart.getTime();

   tDate.setTime(tDiff);

   document.theTimer.theTime.value = "" 
                                   + tDate.getMinutes() + ":" 
                                   + tDate.getSeconds();

   timerID = setTimeout("UpdateTimer()", 1000);

   If document.theTimer.theTime.value = "01:00" {
   Stop();
   }  

}

function Start() {
   tStart   = new Date();

   document.theTimer.theTime.value = "00:00";

   timerID  = setTimeout("UpdateTimer()", 1000);
}

function Stop() {
   if(timerID) {
      clearTimeout(timerID);
      timerID  = 0;
   }

   tStart = null;
}

function Reset() {
   tStart = null;

   document.theTimer.theTime.value = "00:00";
}

//-->

</script>
<body onload="Reset()" onunload="Stop()">
<center><form name="theTimer"><table>
   <tr>
      <td colspan=3 align=center>
         <input type=text name="theTime" size=5>
      </td>
   </tr>
   <tr><td></td></tr>
   <tr>
      <td>
         <input type=button name="start" value="Start" onclick="Start()">
      </td>
      <td>
         <input type=button name="stop" value="Stop" onclick="Stop()">
      </td>
      <td>
         <input type=button name="reset" value="Reset" onclick="Reset()">
      </td>
   </tr>
</table></form></center>

Oh ya, im working on the resume function so the time will not be reset when the page is being refreshed.
Any helps of this will once again a big thank you from me.

It would need to go inside the update function as you say. Also JS timers aren't perfect, so use >= instead of = as follows

[B]   If [/B]tDate.getMinutes()[B] >= 1 {
   Stop();
   }[/B]

Regards

D

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.