DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   ASP (http://www.daniweb.com/forums/forum62.html)
-   -   Generating clientside javascript (http://www.daniweb.com/forums/thread73727.html)

enggars Mar 29th, 2007 8:27 am
Generating clientside javascript
 
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.

davidcairns Mar 29th, 2007 9:04 am
Re: Generating clientside javascript
 
Try here

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

God I love Google

enggars Mar 29th, 2007 9:40 am
Re: Generating clientside javascript
 
Quote:

Originally Posted by davidcairns (Post 336068)

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.

davidcairns Mar 29th, 2007 9:57 am
Re: Generating clientside javascript
 
Make sure you have these options in the html body tag

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

Regards

D

enggars Mar 29th, 2007 10:17 am
Re: Generating clientside javascript
 
Quote:

Originally Posted by davidcairns (Post 336087)
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.

davidcairns Mar 29th, 2007 11:53 am
Re: Generating clientside javascript
 
It would need to go inside the update function as you say. Also JS timers aren't perfect, so use >= instead of = as follows

If tDate.getMinutes() >= 1 {
Stop();
}


Regards

D


All times are GMT -4. The time now is 11:24 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC