?
Solved

Jaavscript Timer Help

Posted on 2008-09-29
6
Medium Priority
?
236 Views
Last Modified: 2012-06-21
Hello Experts,

Below is a javascript countdown. Now what I am trying to do is to call the function after a certain process. In the attach code snippets I just put a an alert then after the countdown timer should be called again. How can I do this.  If you have a better approach is solving my problem that will be cool.

TIA,
gladxml


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script> 
<!-- 
// 
 var milisec=0 
 var seconds=30
// var myCounter = document.getElementById('d2'); 
// myCounter.value='60' 
function display(){
var myCounter = document.getElementById('d2');
myCounter.value = '30'
 if (milisec<=0){ 
    milisec=9 
    seconds-=1 
 } 
 if (seconds<=-1){ 
    milisec=0 
    seconds+=1 
 } 
 else 
 {
    milisec-=1 
    myCounter.value=seconds+"."+milisec 
    setTimeout("display()",100) 
 }
 if (myCounter.value == '0.0')
 {
	alert('call the function again');
	display();
 }
} 
-->  
</script> 
<title>Untitled Document</title>
</head>
 
<body>
<form name="MyForm" action="response_normal.asp" method="post">
	<input type="text" size="8" name="d2" id="d2"><br />
</form>
<div id="MyResult"></div>
<script>
display();
</script>
 
</body>
</html>

Open in new window

0
Comment
Question by:gladxml
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 15

Author Comment

by:gladxml
ID: 22602505
To make it clearer
I want to call the countdown timer function again after a certain process. SO that the process will just loop again and again. In my example after the alert message the timer function must be triggered.

TIA,
gladxml
0
 
LVL 1

Expert Comment

by:Pronca
ID: 22602945

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script> 
<!-- 
// 
 var milisec=0 
 var seconds=30
// var myCounter = document.getElementById('d2'); 
// myCounter.value='60' 
function display(){
var myCounter = document.getElementById('d2');
myCounter.value = '30'
 if (milisec<=0){ 
    milisec=9 
    seconds-=1 
 } 
 if (seconds<=-1){ 
    milisec=0 
    seconds+=30+1 
 } 
 else 
 {
    milisec-=1 
    myCounter.value=seconds+"."+milisec 
    setTimeout("display()",100) 
 }
 if (myCounter.value == '0.0')
 {
        alert('call the function again');
        setTimeout("display()",0)
 }
} 
-->  
</script> 
<title>Untitled Document</title>
</head>
 
<body>
<form name="MyForm" action="response_normal.asp" method="post">
        <input type="text" size="8" name="d2" id="d2"><br />
</form>
<div id="MyResult"></div>
<script>
display();
</script>
 
</body>
</html>

Open in new window

0
 
LVL 1

Accepted Solution

by:
Pronca earned 2000 total points
ID: 22602958
To clarify my post:

You have to reset the number of seconds to 30+1 (because it will decrement due to milisec == 0). Then you can call display() again. I put display() inside another setTimeout() but it doesn't need to be. All you need to do is reset the seconds.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 15

Author Comment

by:gladxml
ID: 22603145
Ok thanks....

What I did is like this

        alert('call the function again');
        milisec=0 ;
        seconds=30;
        display();

Just need to know if there is are other ways to create a timer function.  Do you know any?

0
 
LVL 15

Author Comment

by:gladxml
ID: 22603171
I have notice when I run the code on the second or third call of he function the timer run faster than the usual. Do you have any idea why it is like that?
0
 
LVL 15

Author Closing Comment

by:gladxml
ID: 31501442
Thanks anyway. Not sure how to fix the timer speed on the next loop. Just need to find a new timer function
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question